mod local;
mod manifest;
mod proto;
mod schema;
mod selection;
mod summary;
mod threads;
#[cfg(test)]
mod tests;
pub use local::{
restore_rust_plan_layered_local, restore_rust_plan_local, rust_plan_bundle_dir,
rust_plan_cache_key, save_rust_plan_delta_local, save_rust_plan_local,
};
pub use manifest::{RustArtifactBundleLayerKind, RustArtifactBundleManifest, RustBundledArtifact};
pub use schema::{
RustArtifactClass, RustArtifactPlanV1, RustPlanError, RustPlanInputs, RustPlanMode,
RustPlanPackages, RustToolchainIdentity, RUST_ARTIFACT_CACHE_SCHEMA_VERSION,
RUST_ARTIFACT_PLAN_SCHEMA_VERSION,
};
pub use summary::{
RustPlanArtifactEffectiveness, RustPlanCompatibility, RustPlanOperation, RustPlanSkippedSample,
RustPlanSummary,
};
#[cfg(test)]
use local::{
bundle_selected_artifacts_with_threads, rust_plan_identity_hash, system_time_to_unix_nanos,
unix_nanos_to_system_time,
};
#[cfg(test)]
use manifest::{
read_bundle_manifest, safe_join, write_bundle_manifest, BUNDLE_FILES_DIR, BUNDLE_MANIFEST_NAME,
LEGACY_BUNDLE_MANIFEST_NAME,
};
#[cfg(test)]
use schema::default_thin_classes;
#[cfg(test)]
use selection::{classify_artifact, collect_files, package_name_from_id, select_artifacts};
#[cfg(test)]
use threads::{
default_rust_plan_tar_threads, parse_rust_plan_tar_threads, DEFAULT_RUST_PLAN_TAR_THREADS_CAP,
MAX_RUST_PLAN_TAR_THREADS,
};