Skip to content

Releases: rallyhealth/sbt-git-versioning

Publish to Sonatype / Maven Central

26 Apr 16:40
5912c3a
Compare
Choose a tag to compare
Publish to Sonatype / Maven Central (#21)

* Publish to sonatype / Maven Central
* Update Travis to download sbt

Migrate rally-versioning 1.9.0 changes

26 Apr 16:35
43301a1
Compare
Choose a tag to compare
Merge pull request #18 from rallyhealth/migrate-1.9.0

Migrate latest rally-versioning changes from 1.9.0 to open-source

Allow passing MiMa ProblemFilters

11 Mar 21:02
5290cfc
Compare
Choose a tag to compare
  • Add support for passing MiMa ProblemFilters to the semVerCheck task

Improve Git Failure Handling

30 Oct 17:52
6f68500
Compare
Choose a tag to compare
  • Fixes a confusing message on Mac OS X:
java.lang.IllegalArgumentException: requirement failed: Must be in a git repository
at scala.Predef$.require(Predef.scala:233)
at com.rallyhealth.sbt.versioning.GitDriverImpl.<init>(GitDriver.scala:71)

Now it shares more info about why git failed to run.

Use 1.2.2 instead

18 Oct 22:20
6f68500
Compare
Choose a tag to compare
Use 1.2.2 instead Pre-release
Pre-release
Merge pull request #13 from jscrally/fix_git_failure

Makes failure more specific

Bug fixes and upgrade self to sbt 1.2.1

18 Aug 01:11
38e0e5a
Compare
Choose a tag to compare
  • Upgrade self to sbt 1.2.1
  • Fixes a regression when introducing a new artifact under the cover of semVerEnforceAfterVersion
  • Fixes a minor regression in 1.1.0 where semVerCheck fails on projects that do not have any files in src/main/scala

Support for sbt 1.0

17 Aug 00:19
118afbb
Compare
Choose a tag to compare

sbt 1 support!

First release to supporting sbt 1! You can read about the features in the sbt 1.0 and sbt 1.1 blog posts.

Cross building will continue to publish 0.13 versions for some time.

#11

semVerPreRelease removed

semVerPreRelease referred to major=0 versions as described in http://semver.org/#spec-item-4, but "pre-release" has an entirely different meaning: http://semver.org/#spec-item-9. Confusing!

I'm removing to simplify. There are enough seams for users to add the capability back in their own build.sbt if desired.

semVerLimit deprecated/ignored

The initial intent behind semVerLimit was to highlight any breaking changes in PR that would require major version bumps. Unfortunately, semVerLimit does not provide sufficient information to other plugins (like the shading plugin https://github.com/AudaxHealthInc/rally-versioning/pull/77) about staged major releases. gitVersioningSnapshotLowerBound has since superseded it.

semVerLimit is now deprecated and if set, will log a deprecation warning and that the value will be ignored.

Logging Clarifications

I have received lots of questions from engineers about SemVer's logging. It's currently high noise/low signal.

This is a passing test run from an example project:

> test
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Checking ENABLED with LIMIT target semVerLimit=1.999.999
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[info] [SemVer] Check type: comparing most recent release with post-tag changes
[info] [SemVer] Check starting (prev=0.3.0 vs curr=1.999.999) ...
[info] [SemVer] Check aborted: limit=1.999.999 allows major upgrades, no check needed.
[success] Total time: 5 s, completed Sep 5, 2017 11:26:06 PM

New strategy is to include the relevant failure information in the failure exception. On success, we log at debug or below, just like the majority of other sbt tasks.

Errors are now at the end of the build and look like this:

06:21:34 [error] (api/*:semVerCheck) com.rallyhealth.sbt.semver.SemVerVersionTooLowException: Your changes have new functionality and binary incompatibilites which violates the http://semver.org rules for a Minor release (1.21.0 => 1.21.1).
06:21:34 [error] 
06:21:34 [error] Specifically, MiMa detected the following binary incompatibilities:
06:21:34 [error] (1/2) Backward -> abstract method withExtension(java.lang.Object,java.lang.Object)java.lang.Object in interface com.rallyhealth.interceptor.v1.typeclass.WithExtension does not have a correspondent in current version
06:21:34 [error] (2/2) Backward -> abstract method withSemVerViolation(java.lang.Object,java.lang.Object)java.lang.Object in interface com.rallyhealth.interceptor.v1.typeclass.WithExtension is present only in current version
06:21:34 [error] 
06:21:34 [error] These changes would require a Major release instead (1.21.0 => 2.0.0).
06:21:34 [error] You can adjust the version by adding the following setting:
06:21:34 [error]   .settings(gitVersioningSnapshotLowerBound := "2.0.0")
06:21:34 [error] Total time: 19 s, completed Jul 10, 2018 6:21:34 AM

Bugfix: gitVersioningSnapshotLowerBound

Fixed a regression where gitVersioningSnapshotLowerBound incorrectly produced release versions when HEAD was a tagged version. Now it always produces a SNAPSHOT version anytime it modifies the version (as reflected by the name and original implementation).

v1.0.0 Release - Initial stable version of git-versioning-sbt-plugin

20 Apr 18:26
14e2cc0
Compare
Choose a tag to compare
  • Releasing stable 1.0.0 version to enable semantic versioning protections

Use standard artifact naming convention

20 Apr 16:53
14e2cc0
Compare
Choose a tag to compare

This just changes the artifact name to match the standards for sbt (ie. starts with sbt- and does not contain the word plugin)

v0.0.2 - Fix plugin name in logs and fix tests

08 Feb 21:07
0c7a4e3
Compare
Choose a tag to compare
  • Fixed logging to use correct plugin name