git-repo-manager 0.6.2

Manage multiple git repositories. You configure the git repositories in a file, the program does the rest!
Documentation
check: check-cargo-lock check-pip-requirements test
    cargo check
    cargo fmt --check
    cargo clippy --no-deps -- -Dwarnings

check-cargo-lock:
    cargo update --locked

lint-fix:
    cargo clippy --no-deps --fix

release:
    cargo build --release

install:
    cargo install --path .

test: test-unit test-integration test-e2e

test-unit:
    cargo test --lib --bins

test-integration:
    cargo test --test "*"

e2e-venv:
    cd ./e2e_tests \
    && python3 -m venv venv \
    && . ./venv/bin/activate \
    && pip --disable-pip-version-check install -r ./requirements.txt >/dev/null


test-e2e +tests=".": e2e-venv release
    cd ./e2e_tests \
    && . ./venv/bin/activate \
    && TMPDIR=/dev/shm python -m pytest --color=yes {{tests}}

update-dependencies: update-cargo-dependencies update-pip-requirements

update-cargo-dependencies:
    @cd ./depcheck \
    && python3 -m venv ./venv \
    && . ./venv/bin/activate \
    && pip --disable-pip-version-check install -r ./requirements.txt > /dev/null \
    && ./update-cargo-dependencies.py

update-pip-requirements: e2e-venv
    @cd ./e2e_tests \
    && ./update_requirementstxt.sh

check-pip-requirements: e2e-venv
    @cd ./e2e_tests \
    && . ./venv/bin/activate \
    && pip list --outdated | grep -q '.' && exit 1 || exit 0

clean:
    cargo clean