Class ConventionalVersionPlugin

java.lang.Object
io.github.joke.conventionalversion.ConventionalVersionPlugin
All Implemented Interfaces:
org.gradle.api.Plugin<org.gradle.api.initialization.Settings>

public class ConventionalVersionPlugin extends Object implements org.gradle.api.Plugin<org.gradle.api.initialization.Settings>
Assigns every project in the build a version calculated from conventional commits.

Calculates only. It never creates a tag, never writes a changelog and contributes no task: release-please remains the release authority and this predicts the number it will publish.

  • Field Details

  • Constructor Details

    • ConventionalVersionPlugin

      public ConventionalVersionPlugin()
  • Method Details

    • apply

      public void apply(org.gradle.api.initialization.Settings settings)
      Specified by:
      apply in interface org.gradle.api.Plugin<org.gradle.api.initialization.Settings>
    • applyDefaults

      @VisibleForTesting protected void applyDefaults(ConventionalVersionExtension extension)
    • assignVersions

      @VisibleForTesting protected void assignVersions(org.gradle.api.initialization.Settings settings, ConventionalVersionExtension extension)
      Resolves the version once, then hands the plain result to every project.

      The value is resolved here rather than inside the per-project action so git is read once for the whole build, and so the isolated action captures nothing but an immutable record.

    • calculate

      @VisibleForTesting protected VersionResult calculate(org.gradle.api.initialization.Settings settings, ConventionalVersionExtension extension)