Set of SemVerStrategy
properties to determine current version.
All strategies are base on Nebular Release or it's super set Gradle Git.
Type | Name and description |
---|---|
static org.ajoberstar.gradle.git.release.semver.PartialSemVerStrategy |
COUNT_INCREMENTED |
static org.ajoberstar.gradle.git.release.semver.SemVerStrategy |
DEVELOPMENT Returns a version strategy to be used for development builds. |
static org.ajoberstar.gradle.git.release.semver.SemVerStrategy |
FINAL Returns a version strategy to be used for final builds. |
static org.ajoberstar.gradle.git.release.semver.SemVerStrategy |
PRE_RELEASE Returns a version strategy to be used for pre-release /candidate builds. |
static org.ajoberstar.gradle.git.release.semver.SemVerStrategy |
SNAPSHOT Returns a version strategy to be used for snapshot builds. |
Methods inherited from class | Name |
---|---|
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Returns a version strategy to be used for development
builds.
This strategy creates a unique version string based on last commit hash and the distance of commits to nearest normal version. This version string is not compatible with Paket or Nuget
Example:
releaseScope = "minor"
nearestVersion = "1.3.0"
commitHash = "90c90b9"
distance = 22
inferred = "1.3.0-dev.22+90c90b9"
Returns a version strategy to be used for final
builds.
This strategy infers the release version by checking the nearest release.
Example:
releaseScope = "minor"
nearestVersion = "1.3.0"
inferred = "1.4.0"
Returns a version strategy to be used for pre-release
/candidate
builds.
This strategy infers the release version by checking the nearest any release.
If a pre-release
with the same major
.minor
.patch
version exists, bumps the count part.
Example new pre release:
releaseScope = "minor"
nearestVersion = "1.2.0"
nearestAnyVersion = ""
inferred = "1.3.0-rc00001"
Example pre release version exists:
releaseScope = "minor"
nearestVersion = "1.2.0"
nearestAnyVersion = "1.3.0-rc00001"
inferred = "1.3.0-rc00002"
Example last final release higher than pre-release:
releaseScope = "minor"
nearestVersion = "1.3.0"
nearestAnyVersion = "1.3.0-rc00001"
inferred = "1.4.0-rc00001"
Returns a version strategy to be used for snapshot
builds.
This strategy creates a snapshot version suitable for Paket and
Nuget. Nuget
and Paket
don't support
SNAPSHOT
versions or any numerical values after the patch
component. We trick these package managers
by creating a unique version based on branch
and the distance of commits to nearest normal version.
If the branch name contains numerical values, they will be converted into alphanumerical counterparts.
The master
branch is a special case so it will end up being higher than any other branch build (m>b)
Example from master branch:
releaseScope = "minor"
nearestVersion = "1.3.0"
branch = "master"
distance = 22
inferred = "1.4.0-master00022"
Example from topic branch:
releaseScope = "minor"
nearestVersion = "1.3.0"
branch = "feature/fix_22"
distance = 34
inferred = "1.4.0-branchFeatureFixTwoTow00034"