Skip to main content

analyze

Function analyze 

Source
pub(crate) fn analyze(
    units: &[Unit],
    history: &BTreeMap<String, History>,
    policy: Policy<'_>,
    required_bump: impl FnMut(&Unit, &str) -> Result<Bump, ProposalError>,
) -> Result<Proposal, ProposalError>
Expand description

Changed units receive their override or the larger of the bumps their commits and API analysis require. Applications take a patch bump when no commit asks for more. A breaking change is a minor bump below 1.0.0 and otherwise a major bump. Applications depending on a changed unit are bumped too. A unit at 0.0.0 without a tag takes the same bump rules from its whole history, ignoring API analysis, as a first release. A unit without history is a first release at its override or its current version.