[workspace] authors = ["Alex Maldonado "] channels = ["conda-forge"] name = "coursebank" platforms = ["linux-64", "osx-arm64", "osx-64"] version = "0.1.0" [environments] dev = ["dev"] docs = ["docs"] [dependencies] rust = ">=1.96.0,<1.97" c-compiler = "*" pkg-config = "*" [tasks] build = "cargo build --release" debug = "cargo build" tests = "cargo test" format = "cargo fmt" lint = { cmd = "cargo clippy --all-targets -- -D warnings", depends-on = [ "format", ] } check-docs = "cargo test --test docs" doc = { cmd = "cargo doc --no-deps --open", depends-on = ["check-docs"] } doc-build = { cmd = "cargo doc --no-deps", depends-on = ["check-docs"] } doctests = "cargo test --doc" clean = "cargo clean" install = "cargo install --path . --locked" check = { depends-on = ["format", "lint", "tests", "check-docs", "doc-build"] } build-lean = "cargo build --release --no-default-features" setup-tools = "cargo install cargo-about --locked --features cli" licenses = "cargo about generate about.hbs -o THIRD-PARTY-LICENSES.txt" [tasks.dist] description = "Assemble a release bundle (binary + license notices) in dist/" depends-on = ["build", "licenses"] cmd = "mkdir -p dist && cp target/release/coursebank dist/ && cp LICENSE.md THIRD-PARTY-LICENSES.txt dist/" [tasks.cb] cmd = "cargo run --release --quiet --" description = "Run the CLI, e.g., `pixi run cb validate --course examples/course`" [feature.dev.dependencies] rust-analyzer = "*" lldb = "*" cargo-nextest = "*" [feature.dev.tasks] watch = "cargo watch -x check -x test" nextest = "cargo nextest run" [feature.docs.dependencies] typst = "*" [feature.docs.tasks] typeset = "typst compile"