diff --git a/do.sh b/do.sh deleted file mode 100644 index 0791209..0000000 --- a/do.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env bash -# Do - The Simplest Build Tool on Earth. -# Documentation and examples see https://github.com/8gears/do - -set -Eeuo pipefail # -e "Automatic exit from bash shell script on error" -u "Treat unset variables and parameters as errors" - -checknix() { - if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then - echo "In an interactive nix env." - else - echo "Using poetry as runner, no nix detected." - fi -} - -build() { - echo "I am ${FUNCNAME[0]}ing" - poetry build -} - -fmt() { - if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then - black . - else - poetry run black . - fi - find . -type f -name "*.py" -exec sed -i -e 's/ /\t/g' {} \; -} - -test() { - echo "I am ${FUNCNAME[0]}ing" - if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then - flake8 pdme tests - mypy pdme - pytest - else - poetry run flake8 pdme tests - poetry run mypy pdme - poetry run pytest - fi -} - -updatesnap() { - echo "I am ${FUNCNAME[0]}ing" - if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then - pytest --snapshot-update - else - poetry run pytest --snapshot-update - fi -} - -htmlcov() { - if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then - pytest --cov-report=html - else - poetry run pytest --cov-report=html - fi -} - -release() { - ./scripts/release.sh -} - -all() { - build && fmt && test -} - -"$@" # <- execute the task - -[ "$#" -gt 0 ] || printf "Usage:\n\t./do.sh %s\n" "($(compgen -A function | grep '^[^_]' | paste -sd '|' -))" diff --git a/justfile b/justfile new file mode 100644 index 0000000..452db8a --- /dev/null +++ b/justfile @@ -0,0 +1,54 @@ + +# execute default build +default: build + +# builds the python module using poetry +build: + echo "building..." + poetry build + +# print a message displaying whether nix is being used +checknix: + #!/usr/bin/env bash + set -euxo pipefail + if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then + echo "In an interactive nix env." + else + echo "Using poetry as runner, no nix detected." + fi + +# run all tests +test: fmt + #!/usr/bin/env bash + set -euxo pipefail + + if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then + echo "testing, using nix..." + flake8 pdme tests + mypy pdme + pytest + else + echo "testing..." + poetry run flake8 pdme tests + poetry run mypy pdme + poetry run pytest + fi + +# format code +fmt: + #!/usr/bin/env bash + set -euxo pipefail + if [[ "${DO_NIX_CUSTOM:=0}" -eq 1 ]]; then + black . + else + poetry run black . + fi + find pdme -type f -name "*.py" -exec sed -i -e 's/ /\t/g' {} \; + find tests -type f -name "*.py" -exec sed -i -e 's/ /\t/g' {} \; + +# release the app, checking that our working tree is clean and ready for release +release: + ./scripts/release.sh + +htmlcov: + poetry run pytest --cov-report=html