Package io.github.joke.conventionalversion
@NullMarked
package io.github.joke.conventionalversion
The Gradle surface: the settings plugin, its configuration, and the value source that reads git.
A settings plugin rather than a project plugin because isolated projects forbids cross-project
model access, so a project plugin would have to read git once per project with nowhere to share the
answer. Settings.gradle.lifecycle.beforeProject is the sanctioned replacement for
allprojects and gives one calculation for any number of projects.
Excluded from mutation testing: this package is wiring whose behaviour is observable only through a separate build process, so it is covered by functional tests.
-
ClassDescriptionConfiguration, in the settings file.Assigns every project in the build a version calculated from conventional commits.What the calculation concluded, readable from any project's build logic.Reads git and calculates the version, as a value source.Everything that can change the answer, so that changing any of it re-runs the calculation.