Skip to main content

semifold_core/
lib.rs

1//! Cross-ecosystem release domain types.
2#![cfg_attr(test, allow(clippy::unwrap_used))]
3
4pub mod changeset;
5pub mod config_sync;
6pub mod dependency;
7pub mod error;
8pub mod file_edit;
9pub mod package;
10pub mod planner;
11pub mod release_context;
12pub mod release_plan;
13pub mod versioning;
14pub mod workspace;
15
16pub use changeset::{BumpLevel, ChangesetId, PlanWarning, ReleaseReason};
17pub use config_sync::{
18    ChangesetReference, ConfigConflict, ConfigSyncPlan, ConfigSyncPlanner, ConfigSyncWarning,
19    ConfiguredPackage, DiscoveredPackage, PackageMove, PackageRename,
20};
21pub use dependency::{Dependency, DependencyKind, DependencySource};
22pub use error::DomainError;
23pub use file_edit::{
24    EditSource, FileEdit, FileEditExpectation, FileHash, FileHashError, SharedVersionEdit,
25};
26pub use package::{
27    Ecosystem, EcosystemId, EcosystemIdError, PackageId, PackageSnapshot, VersionSource,
28    VersionSourceId,
29};
30pub use planner::{
31    ChangesetInput, PackageReleasePolicy, ReleasePlanner, ReleasePlannerError, ReleasePolicies,
32};
33pub use release_context::{
34    ChangelogContext, ChangesetContext, CiContext, CiProvider, CommitContext,
35    DependencyUpdateContext, PackageChangesetContext, PackageReleaseContext, PullRequestContext,
36    ReleaseContext, ReleasePackageContext, ReleasePackageContextError,
37    ReleasePackageTemplateContext, ReleasePlanContext, ReleaseReasonContext, RepositoryContext,
38};
39pub use release_plan::{PackageRelease, ReleasePlan, ReleasePlanError, VersionMap};
40pub use versioning::{ReleaseChannel, VersioningError, bump_version};
41pub use workspace::{WorkspaceGraph, WorkspaceGraphError};