Skip to main content

intentional_core/
lib.rs

1// ---
2// relationships:
3//   implements: intent-driven-polyglot-release
4// ---
5
6//! Core model and release operations for `intentional`.
7
8pub mod adapters;
9pub mod apply;
10pub mod check;
11pub mod config;
12pub mod error;
13pub mod init;
14pub mod intent;
15pub mod model;
16pub mod plan;
17pub mod stamp;
18pub mod status;
19pub mod tag;
20pub mod version;
21
22pub use apply::{ApplyResult, FileWrite};
23pub use check::check_workspace;
24pub use config::{Config, PackageConfig, Projection, Settings, CONFIG_PATH};
25pub use error::{Error, Result};
26pub use init::{discover_config, InitResult};
27pub use intent::{Intent, IntentDraft, IntentWrite, INTENTS_PATH};
28pub use model::{Adapter, Bump, ProjectionMode};
29pub use plan::{
30    canonical_json, render_changelog_section, ChangelogEntry, PlanPackage, ReleasePlan,
31};
32pub use stamp::StampResult;
33pub use status::{Drift, PackageStatus, WorkspaceStatus};
34pub use tag::TagResult;
35pub use version::{
36    aggregate_bumps, bump_version, effective_bumps, PackageVersion, VersionRepository,
37};
38
39/// Version of the core release model.
40pub const VERSION: &str = env!("CARGO_PKG_VERSION");
41
42#[cfg(test)]
43mod tests {
44    #[test]
45    fn workspace_version_is_0_1_0() {
46        assert_eq!(super::VERSION, "0.1.0");
47    }
48}