dimitriho / sbt-release-tags-only   0.5.0

Apache License 2.0 GitHub

A small extension to sbt-release, to support version tracking purely through Git tags

Scala versions: 2.12 2.10
sbt plugins: 1.0 0.13

Maven Central

sbt-release-tags-only

A small extension to sbt-release, to support version tracking purely through Git tags, without the need for commits to a version.sbt file. Natively supports independently versioned multi-module projects.

Using it

  1. Add the plugin:
    addSbtPlugin("fr.qux" % "sbt-release-tags-only" % "0.5.0")
  2. Define your release process, including the relevant tasks:
    releaseProcess := Seq[ReleaseStep](
      checkSnapshotDependencies,
      releaseStepCommand(ExtraReleaseCommands.initialVcsChecksCommand),
      setVersionFromTags(releaseTagPrefix.value),
      runClean,
      tagRelease,
      publishArtifacts
      pushTagsOnly
    )

Notes

  • setVersionFromTags() replaces inquireVersions, setReleaseVersion
  • commitReleaseVersion, commitNextVersion, and setNextVersion should no longer be used
  • pushTagsOnly replaces pushChanges

Look at the code to go deeper!