Skip to content

Commit 4aa8eac

Browse files
committed
feat: version bump via metadata on followed version
1 parent 843de0c commit 4aa8eac

File tree

2 files changed

+44
-9
lines changed

2 files changed

+44
-9
lines changed

src/main/java/io/reliza/versioning/Version.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -971,18 +971,29 @@ private static void handleCalverOnSemverUpdates (Version v, Set<VersionElement>
971971
&& schemaVeList.contains(VersionElement.NANO)) {
972972
++v.nano;
973973
} else {
974-
if (StringUtils.isEmpty(v.modifier)) {
975-
v.setModifier("1");
976-
} else if (isInteger(v.modifier)) {
977-
Integer i = Integer.parseInt(v.modifier) + 1;
978-
v.setModifier(i.toString());
979-
} else {
980-
v.simpleBump();
981-
}
974+
resolveModifierMetadataUpdate(v, oldV);
982975
}
983976
}
984977
}
985978

979+
private static void resolveModifierMetadataUpdate (Version v, Version oldV) {
980+
if (StringUtils.isEmpty(v.modifier)) {
981+
v.setModifier("1");
982+
} else if (isInteger(v.modifier)) {
983+
Integer i = Integer.parseInt(v.modifier) + 1;
984+
v.setModifier(i.toString());
985+
} else if (isInteger(oldV.metadata)) {
986+
if (StringUtils.isEmpty(v.metadata) || !isInteger(v.metadata)) {
987+
v.setMetadata("1");
988+
} else {
989+
Integer i = Integer.parseInt(v.metadata) + 1;
990+
v.setMetadata(i.toString());
991+
}
992+
} else {
993+
v.simpleBump();
994+
}
995+
}
996+
986997
private static boolean isInteger(String s) {
987998
return s.matches("\\d+");
988999
}

src/test/java/io/reliza/versioning/AppTest.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1101,7 +1101,7 @@ void testParseVersion_BranchHyphenMicroMulti() {
11011101
}
11021102

11031103
@Test
1104-
public void testIdenticalSemverBumpViaModifier () {
1104+
public void testIdenticalSemverBumpViaModifier1 () {
11051105
String schema = "semver";
11061106
String oldVersion = "1.2.0-1";
11071107
String pin = "1.2.0-1";
@@ -1123,4 +1123,28 @@ public void testIdenticalSemverBumpViaModifier2 () {
11231123
String expectedV = "1.2.3-1";
11241124
assertEquals(expectedV, actualV);
11251125
}
1126+
1127+
@Test
1128+
public void testIdenticalSemverBumpViaModifier3 () {
1129+
String schema = "semver";
1130+
String oldVersion = "1.2.0-11";
1131+
String pin = "1.2.0-2";
1132+
ActionEnum action = ActionEnum.BUMP;
1133+
Version newV = Version.getVersionFromPinAndOldVersion(schema, pin, oldVersion, action);
1134+
String actualV = newV.constructVersionString();
1135+
String expectedV = "1.2.0-12";
1136+
assertEquals(expectedV, actualV);
1137+
}
1138+
1139+
@Test
1140+
public void testIdenticalSemverBumpViaMetadata () {
1141+
String schema = "semver";
1142+
String oldVersion = "1.2.0-testfeature.1+49";
1143+
String pin = "1.2.0-testfeature.1+30";
1144+
ActionEnum action = ActionEnum.BUMP;
1145+
Version newV = Version.getVersionFromPinAndOldVersion(schema, pin, oldVersion, action);
1146+
String actualV = newV.constructVersionString();
1147+
String expectedV = "1.2.0-testfeature.1+50";
1148+
assertEquals(expectedV, actualV);
1149+
}
11261150
}

0 commit comments

Comments
 (0)