Skip to main content

canic_host/
lib.rs

1//! Host-side build, install, fleet, and release-set helpers for Canic workspaces.
2
3use std::process::Command;
4
5mod artifact_io;
6mod bootstrap_store;
7pub mod canister_build;
8mod cargo_metadata;
9pub mod icp;
10pub mod install_root;
11pub mod release_set;
12pub mod replica_query;
13pub mod table;
14#[cfg(test)]
15mod test_support;
16mod workspace_discovery;
17
18pub(crate) fn cargo_command() -> Command {
19    let cargo = std::env::var_os("CARGO").unwrap_or_else(|| "cargo".into());
20    let mut command = Command::new(cargo);
21
22    if let Some(toolchain) = std::env::var_os("RUSTUP_TOOLCHAIN") {
23        command.env("RUSTUP_TOOLCHAIN", toolchain);
24    }
25
26    command
27}
28
29pub(crate) fn icp_environment_from_env() -> String {
30    std::env::var("ICP_ENVIRONMENT").unwrap_or_else(|_| "local".to_string())
31}