#!/usr/bin/env just --justfile default: show_receipts set shell := ["bash", "-uc"] set dotenv-load show_receipts: @just --list show_system_info: @echo "==================================" @echo "os : {{os()}}" @echo "arch: {{arch()}}" @echo "justfile dir: {{justfile_directory()}}" @echo "invocation dir: {{invocation_directory()}}" @echo "running dir: `pwd -P`" @echo "==================================" setup: @asdf install @lefthook install create_venv: @echo "creating venv" @python3 -m pip install --upgrade pip setuptools wheel @python3 -m venv venv install_deps: @echo "installing dependencies" @python3 -m hatch dep show requirements --project-only > /tmp/requirements.txt @pip3 install -r /tmp/requirements.txt install_deps_dev: @echo "installing dev dependencies" @python3 -m hatch dep show requirements --project-only > /tmp/requirements.txt @python3 -m hatch dep show requirements --env-only >> /tmp/requirements.txt @pip3 install -r /tmp/requirements.txt create_reqs: @echo "creating requirements" @pipreqs --force --savepath requirements.txt src/mangadlp/ test_shfmt: @find . -type f \( -name "**.sh" -and -not -path "./.**" -and -not -path "./venv**" \) -exec shfmt -d -i 4 -bn -ci -sr "{}" \+; format_shfmt: @find . -type f \( -name "**.sh" -and -not -path "./.**" -and -not -path "./venv**" \) -exec shfmt -w -i 4 -bn -ci -sr "{}" \+; lint: just show_system_info just test_shfmt @hatch run lint:style @hatch run lint:typing format: just show_system_info just format_shfmt @hatch run lint:fmt check: just format just lint test: @hatch run default:test coverage: @hatch run default:cov build: @hatch build --clean run loglevel *flags: @hatch run mangadlp --loglevel {{loglevel}} {{flags}}