Skip to content

Commit d28aa0f

Browse files
committed
ixed dependency version parsing to accept semver x.y[.z][-label] with multi-digit patch
- Update VERSION_PATTERN to allow multi-digit patch (e.g., 5.0.13) - Safeguard optional groups in getSemanticVersionPart (defaults to 0) Fixes: IllegalArgumentException: Invalid version format: 5.0.13 for dependency: eu.okaeri:okaeri-configs-core:5.0.13
1 parent 7357b26 commit d28aa0f

File tree

1 file changed

+3
-4
lines changed
  • eternalcore-plugin/src/main/java/com/eternalcode/core/loader/dependency

1 file changed

+3
-4
lines changed

eternalcore-plugin/src/main/java/com/eternalcode/core/loader/dependency/Dependency.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
public class Dependency {
1111

12-
private static final Pattern VERSION_PATTERN = Pattern.compile("(?<major>[0-9]+)\\.(?<minor>[0-9]+)\\.?(?<patch>[0-9]?)(-(?<label>[-+.a-zA-Z0-9]+))?");
12+
private static final Pattern VERSION_PATTERN = Pattern.compile("(?<major>[0-9]+)\\.(?<minor>[0-9]+)(?:\\.(?<patch>[0-9]+))?(?:-(?<label>[-+.a-zA-Z0-9]+))?");
1313

1414
private static final String PATH_FORMAT = "%s/%s/%s/%s/%s";
1515
private static final String JAR_MAVEN_FORMAT = "%s-%s.jar";
@@ -131,8 +131,7 @@ private int getSemanticVersionPart(String name) {
131131
}
132132

133133
String versionNumber = matcher.group(name);
134-
135-
if (versionNumber.isEmpty()) {
134+
if (versionNumber == null || versionNumber.isEmpty()) {
136135
return 0;
137136
}
138137

@@ -176,4 +175,4 @@ public Dependency asBom() {
176175
return new Dependency(this.groupId, this.artifactId, this.version, true);
177176
}
178177

179-
}
178+
}

0 commit comments

Comments
 (0)