2022-12-06 14:47:02 +01:00
|
|
|
# This Cargo file is a workspace configuration as per
|
|
|
|
# https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html
|
|
|
|
#
|
|
|
|
# We add this file to get a coherent set of dependencies across Tvix
|
|
|
|
# crates by sharing a Cargo.lock. This is necessary because of the
|
|
|
|
# currently limited support for Rust builds in Nix.
|
|
|
|
#
|
|
|
|
# Note that this explicitly does *not* mean that //tvix should be
|
|
|
|
# considered "one project": This is simply a workaround for a
|
|
|
|
# technical limitation and it should be our aim to remove this
|
|
|
|
# workspace file and make the subprojects independent.
|
|
|
|
#
|
|
|
|
# Note also that CI targets for actual projects should *not* be tied
|
|
|
|
# to //tvix, but to its subprojects. A potential file at
|
|
|
|
# //tvix/default.nix should likely *not* expose anything other than
|
|
|
|
# extra steps or other auxiliary targets.
|
|
|
|
|
|
|
|
[workspace]
|
2023-09-17 13:14:06 +02:00
|
|
|
resolver = "2"
|
2022-12-06 14:47:02 +01:00
|
|
|
|
|
|
|
members = [
|
2023-12-09 09:49:47 +01:00
|
|
|
"build",
|
2023-09-21 21:32:44 +02:00
|
|
|
"castore",
|
2022-12-08 22:19:22 +01:00
|
|
|
"cli",
|
2022-12-06 14:47:02 +01:00
|
|
|
"eval",
|
|
|
|
"eval/builtin-macros",
|
2023-11-03 12:34:37 +01:00
|
|
|
"glue",
|
2024-05-14 13:55:43 +02:00
|
|
|
"nar-bridge",
|
2023-01-31 12:18:03 +01:00
|
|
|
"nix-compat",
|
2024-07-22 16:51:42 +02:00
|
|
|
"nix-compat-derive",
|
|
|
|
"nix-compat-derive-tests",
|
2022-12-31 16:13:59 +01:00
|
|
|
"serde",
|
2022-12-06 14:47:02 +01:00
|
|
|
"store",
|
2024-06-06 15:44:11 +02:00
|
|
|
"tracing",
|
2022-12-06 14:47:02 +01:00
|
|
|
]
|
|
|
|
|
2024-05-13 18:42:50 +02:00
|
|
|
[workspace.lints.clippy]
|
|
|
|
# Allow blocks_in_conditions due to false positives with #[tracing::instrument(…)]:
|
|
|
|
# https://github.com/rust-lang/rust-clippy/issues/12281
|
|
|
|
blocks_in_conditions = "allow"
|
|
|
|
|
2022-12-06 14:47:02 +01:00
|
|
|
# Add a profile to all targets that enables release optimisations, but
|
|
|
|
# retains debug symbols. This is great for use with
|
|
|
|
# benchmarking/profiling tools.
|
|
|
|
[profile.release-with-debug]
|
|
|
|
inherits = "release"
|
|
|
|
debug = true
|