Package io.github.duckasteroid.gradle.versioning


package io.github.duckasteroid.gradle.versioning
  • Class
    Description
    How far back the release-flow plugin's changelog generator should look when generating notes for a release candidate (the changelogForReleaseCandidate task, controlled via the changelog { rcScope = ... } extension).
    Minimal Java port of the semantic-release commit-analyzer concept (https://github.com/semantic-release/commit-analyzer), scoped to the default Conventional Commits (https://www.conventionalcommits.org/) / Angular rule set only - there is deliberately no configurable "preset" system here, unlike the JS original, since this plugin only ever needs the one rule set.
    The four possible outcomes of analyzing a commit (or a batch of commits), in ascending severity.
    The syntactic parse of a commit message, independent of any type -> bump configuration - see CommitAnalyzer.parse(String).
    Gradle-facing configuration for CommitAnalyzer's type-to-bump mapping.
    Constructing a JGit Repository (via RepositoryBuilder().build()) makes JGit shell out to the real git binary (git --version, then git config --system --show-origin --list -z) the first time it needs the system-level git config - SystemReader.getSystemConfig() -> openSystemConfig() -> FS.discoverGitSystemConfig() -> FS.readPipe() - because there's no portable file-path convention for where that config lives.
    Computes project.version from git history plus Conventional Commits - a small semantic-release commit-analyzer port (VersionResolver/CommitAnalyzer).
    Derives project versions from git history rather than a single nearest tag.