From a4135c0f98df6ca42f718f070abd0392842f9ab4 Mon Sep 17 00:00:00 2001 From: Joep Joosten Date: Thu, 12 Apr 2018 10:22:02 +0200 Subject: [PATCH 1/4] Update for remote tags which have 'refs/tags/' in front of the tag name --- .../com/cinnober/gradle/semver_git/SemverGitPlugin.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy b/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy index 3840098..90b6554 100644 --- a/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy +++ b/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy @@ -57,7 +57,7 @@ class SemverGitPlugin implements Plugin { } def static Object[] parseVersion(String version) { - def pattern = /^([0-9]+)\.([0-9]+)\.([0-9]+)(-([a-zA-Z0-9.-]+))?$/ + def pattern = /^(?:refs\/tags\/)?([0-9]+)\.([0-9]+)\.([0-9]+)(-([a-zA-Z0-9.-]+))?$/ def matcher = version =~ pattern def arr = matcher.collect { it }[0] if (arr == null) { @@ -124,4 +124,4 @@ class SemverGitPlugin implements Plugin { println "Version: " + project.version } } -} \ No newline at end of file +} From 5a131a82987d3f1120f006afd4da5d210e91d564 Mon Sep 17 00:00:00 2001 From: Joep Joosten Date: Thu, 12 Apr 2018 10:37:27 +0200 Subject: [PATCH 2/4] Added 'refs/tags/' tests --- .../semver_git/SemverGitPluginTest.groovy | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy b/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy index 9106a62..a5b1dfe 100644 --- a/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy +++ b/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy @@ -43,7 +43,22 @@ class SemverGitPluginTest extends GroovyTestCase { testParseVersion("1.2.3-SNAPSHOT", [1,2,3,"SNAPSHOT"]); } void testParseVersion12_34_56_rc78() { - testParseVersion("12.34.56-rc78", [12,34,56,"rc78"]); + testParseVersion("refs/tags/12.34.56-rc78", [12,34,56,"rc78"]); + } + void testParseVersionRefsTags100() { + testParseVersion("refs/tags/1.0.0", [1,0,0,null]); + } + void testParseVersionRefsTags123() { + testParseVersion("refs/tags/1.2.3", [1,2,3,null]); + } + void testParseVersionRefsTags123beta() { + testParseVersion("refs/tags/1.2.3-beta", [1,2,3,"beta"]); + } + void testParseVersionRefsTags123snapshot() { + testParseVersion("refs/tags/1.2.3-SNAPSHOT", [1,2,3,"SNAPSHOT"]); + } + void testParseVersionRefsTags12_34_56_rc78() { + testParseVersion("refs/tags/12.34.56-rc78", [12,34,56,"rc78"]); } void testFailParseVersion_abc() { shouldFail({SemverGitPlugin.parseVersion("a.b.c")}); @@ -105,4 +120,4 @@ class SemverGitPluginTest extends GroovyTestCase { testNextVersion("1.0.0-SNAPSHOT", "1.0.0-beta", "major", "SNAPSHOT"); } -} \ No newline at end of file +} From bb30c1299ef253a3c481497a53868a17e07619cc Mon Sep 17 00:00:00 2001 From: Joep Joosten Date: Tue, 17 Apr 2018 11:18:27 +0200 Subject: [PATCH 3/4] Fix test duplicate --- .../com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy b/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy index a5b1dfe..001b6df 100644 --- a/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy +++ b/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy @@ -43,7 +43,7 @@ class SemverGitPluginTest extends GroovyTestCase { testParseVersion("1.2.3-SNAPSHOT", [1,2,3,"SNAPSHOT"]); } void testParseVersion12_34_56_rc78() { - testParseVersion("refs/tags/12.34.56-rc78", [12,34,56,"rc78"]); + testParseVersion("12.34.56-rc78", [12,34,56,"rc78"]); } void testParseVersionRefsTags100() { testParseVersion("refs/tags/1.0.0", [1,0,0,null]); From f4474be8c1a77891f1db189cc1116951df9e7082 Mon Sep 17 00:00:00 2001 From: Joep Joosten Date: Tue, 17 Apr 2018 11:32:40 +0200 Subject: [PATCH 4/4] Fix checkVersion should return version without "refs/tags/" --- .../com/cinnober/gradle/semver_git/SemverGitPlugin.groovy | 3 +-- .../com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy b/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy index 90b6554..e13d443 100644 --- a/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy +++ b/src/main/groovy/com/cinnober/gradle/semver_git/SemverGitPlugin.groovy @@ -52,8 +52,7 @@ class SemverGitPlugin implements Plugin { } def static String checkVersion(String version) { - parseVersion(version); - return version; + return formatVersion(parseVersion(version)); } def static Object[] parseVersion(String version) { diff --git a/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy b/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy index 001b6df..f819805 100644 --- a/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy +++ b/src/test/groovy/com/cinnober/gradle/semver_git/SemverGitPluginTest.groovy @@ -120,4 +120,7 @@ class SemverGitPluginTest extends GroovyTestCase { testNextVersion("1.0.0-SNAPSHOT", "1.0.0-beta", "major", "SNAPSHOT"); } + void testCheckVersionShouldReturnWithoutRefsTags() { + assertEquals("1.0.0-beta", SemverGitPlugin.checkVersion("refs/tags/1.0.0-beta")) + } }