Skip to content

Gradle plugin that provides Semantic Versioning with auto-increment features

License

Notifications You must be signed in to change notification settings

asherepenko/plugin-build-version

Repository files navigation

Semantic Versioning Plugin

License: MIT CircleCI Gradle Plugin Portal

Gradle plugin that provides Semantic Versioning with auto-increment features.

How to

Add it in your project build.gradle.kts at the end of plugins.

Using the plugins DSL:

plugins {
    id("com.sherepenko.gradle.plugin-build-version") version "x.y.z"
}

Using legacy plugin application:

buildscript {
    repositories {
        maven {
            url = uri("https://plugins.gradle.org/m2/")
        }
    }

    dependencies {
        classpath("com.sherepenko.gradle.plugin-build-version:x.y.z")
    }
}

apply(plugin = "com.sherepenko.gradle.plugin-build-version")

Summary

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backward compatible manner, and
  3. PATCH version when you make backward compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Gradle tasks

  • incrementMajor will increment the MAJOR and set the MINOR and PATCH versions to 0;
  • incrementMinor will increment the MINOR and set the PATCH version to 0;
  • incrementPatch will increment the PATCH version;
  • prepareReleaseVersion will prepare release version by trimming pre-release and build metadata