Skip to content

Commit 89bec7a

Browse files
froquebguerin
andauthored
Adds support to detect Maven 4 beta versions (#798)
* Adds support to detect Maven 4 beta versions * source format --------- Co-authored-by: Benoit GUERIN <[email protected]>
1 parent b57d3dd commit 89bec7a

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

pipeline-maven/src/main/java/org/jenkinsci/plugins/pipeline/maven/util/MavenVersion.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class MavenVersion {
88

99
public static MavenVersion fromString(String str) {
1010
try {
11-
String[] parts = str.split("\\.");
11+
String[] parts = str.split("[.\\-]");
1212
return new MavenVersion(Integer.parseInt(parts[0]), Integer.parseInt(parts[1]), Integer.parseInt(parts[2]));
1313
} catch (Exception ex) {
1414
throw new IllegalArgumentException("'" + str + "' is not a valid maven version", ex);

pipeline-maven/src/main/java/org/jenkinsci/plugins/pipeline/maven/util/MavenVersionUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
public class MavenVersionUtils {
66

77
public static Predicate<String> containsMavenVersion() {
8-
return string -> string != null && string.matches("Apache Maven \\d+\\.\\d+\\.\\d+ \\(.*\\)");
8+
return string -> string != null && string.matches("Apache Maven \\d+\\.\\d+\\.\\d+(.*) \\(.*\\)");
99
}
1010

1111
public static MavenVersion parseMavenVersion(String outputLine) {

pipeline-maven/src/test/java/org/jenkinsci/plugins/pipeline/maven/util/MavenVersionUtilsTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ public void should_detect_maven_version() {
2020
assertThat(MavenVersionUtils.containsMavenVersion()
2121
.test("Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)"))
2222
.isTrue();
23+
24+
assertThat(MavenVersionUtils.containsMavenVersion()
25+
.test("Apache Maven 4.0.0-beta-3 (e92f645c2749eb2a4f5a8843cf01e7441e4b559f)"))
26+
.isTrue();
2327
}
2428

2529
@Test
@@ -30,5 +34,7 @@ public void should_parse_maven_version() {
3034
.isEqualTo(new MavenVersion(3, 8, 8));
3135
assertThat(MavenVersionUtils.parseMavenVersion("Apache Maven 3.6.1")).isEqualTo(new MavenVersion(3, 6, 1));
3236
assertThat(MavenVersionUtils.parseMavenVersion("Apache Maven 3.5.4")).isEqualTo(new MavenVersion(3, 5, 4));
37+
assertThat(MavenVersionUtils.parseMavenVersion("Apache Maven 4.0.0-beta-3"))
38+
.isEqualTo(new MavenVersion(4, 0, 0));
3339
}
3440
}

0 commit comments

Comments
 (0)