polykit_core/release_reporter.rs
1//! Trait for reporting release operations.
2
3/// Trait for reporting release version bumps.
4///
5/// This trait allows the core library to report release operations without
6/// directly writing to stdout/stderr, maintaining separation of concerns.
7pub trait ReleaseReporter: Send + Sync {
8 /// Reports a version bump operation.
9 ///
10 /// # Arguments
11 ///
12 /// * `package` - The package name being bumped
13 /// * `old` - The old version, if it existed
14 /// * `new` - The new version after bump
15 /// * `dry_run` - Whether this is a dry run (no actual changes made)
16 fn report_bump(&self, package: &str, old: Option<&str>, new: &str, dry_run: bool);
17}