Skip to main content

Crate monochange_cargo

Crate monochange_cargo 

Source
Expand description

§monochange_cargo

monochange_cargo discovers Cargo packages and surfaces Rust-specific release evidence.

Reach for this crate when you want to scan Cargo workspaces into normalized monochange_core records and optionally feed Rust semver evidence into release planning.

§Why use it?

  • discover Cargo workspaces and standalone crates with one adapter
  • normalize crate manifests and dependency edges for the shared planner
  • attach Rust semver evidence through RustSemverProvider

§Best for

  • building Cargo-aware discovery flows without the full CLI
  • feeding Rust semver evidence into release planning
  • converting Cargo workspace structure into shared monochange_core records

§Public entry points

  • discover_cargo_packages(root) discovers Cargo workspaces and standalone crates
  • CargoAdapter exposes the shared adapter interface
  • RustSemverProvider parses explicit Rust semver evidence from change input

§Scope

  • Cargo workspace glob expansion
  • crate manifest parsing
  • normalized dependency extraction
  • Rust semver provider integration for release planning

Re-exports§

pub use analysis::CargoSemanticAnalyzer;
pub use analysis::semantic_analyzer;

Modules§

analysis
lints
Cargo manifest lint suite.

Structs§

CargoAdapter
RustSemverProvider

Enums§

CargoVersionedFileKind

Constants§

CARGO_MANIFEST_FILE
RUST_SEMVER_PROVIDER_ID

Functions§

adapter
Return the shared Cargo ecosystem adapter.
cargo_publish_array_excludes_crates_io
cargo_publish_readiness_blockers
cargo_string_field_is_present
default_dependency_fields
Return the manifest fields that usually contain dependency versions.
default_dependency_version_prefix
default_lockfile_commands
Return the default lockfile refresh commands for package.
discover_cargo_packages
Discover Cargo packages rooted at root.
discover_lockfiles
Discover lockfiles that should be refreshed for package.
extract_workspace_package_table
load_configured_cargo_package
Load one explicitly configured Cargo package without walking the whole repo.
lockfile_requires_command_refresh
Return true when a lockfile still needs command-based refresh.
maybe_read_workspace_manifest_contents
parse_workspace_manifest_value
publish_blocked_message
read_workspace_package_table
resolve_cargo_placeholder_license_metadata
supported_versioned_file_kind
Classify a Cargo versioned file path.
update_versioned_file
Update a parsed Cargo manifest or lockfile in memory.
update_versioned_file_text
Update Cargo manifest or lockfile text while preserving formatting where possible.
validate_versioned_file
Return the default dependency-version prefix for this ecosystem. Validate that a Cargo versioned file contains a readable version field.
validate_workspace_version_groups
Validate version-group assignments for workspace-version Cargo packages.
write_cargo_placeholder_manifest