# Copyright 2022 Weavers @ Eternal Loom. All rights reserved. # Use of this software is governed by the license that can be # found in LICENSE file in the source repository. #!/usr/bin/env just --justfile # The toolchain to use. Change the line below to switch toolchain. toolchain := "+stable" # toolchain := "+nightly" # By default, build and run tests default: test # Build the debug version build: cargo {{toolchain}} build # Clean everything clean: cargo clean # Run tests test: cargo {{toolchain}} test # Build docs doc open="": cargo {{toolchain}} doc --no-deps --{{open}} # Just an alias for doc docs open="": (doc open) # Build and run examples exam cmd="build": cargo {{toolchain}} {{cmd}} --example # Publish dry run publish version: (update version) cargo {{toolchain}} publish --dry-run # Publish to crates.io # - Tags the release in git # - Publish # NOTE: Want to make sure the version in Cargo.toml is > the one in the # registry push version: (update version) (gittag version) cargo {{toolchain}} publish # Analyze and report errors, don't build binaries check: cargo {{toolchain}} check # Run benchmarks bench: cargo {{toolchain}} bench # Update version in cargo.toml # NOTE: We only should update version number under packages section. This # needs some work. Not done now # Manually update the version right now @update version: (check_version version) echo "AUTO UPDATE OF VERSION IS NOT IMPLEMENTED. PLEASE MANUALLY CHECK FOR NOW" # Check version # NOTE: Really want to check that the current version is greater than the # one in registry @check_version version: echo "AUTO VERIFICATION OF VERSION IS NOT IMPLEMENTED. PLEASE MANUALLY CHECK FOR NOW" @gittag version: #!/usr/bin/env bash git tag -a v{{version}} -m "Release v{{version}}" git push origin v{{version}} @delete_gittag version: #!/usr/bin/env bash git tag -d v{{version}} git push origin --delete v{{version}}