Skip to content

Commit d2f53ad

Browse files
committed
Reduce our exposure to DefaultArtifactVersion
It is quite buggy for now so let's not use it as most of the time it's not necessary.
1 parent 6ed39f4 commit d2f53ad

File tree

3 files changed

+24
-12
lines changed

3 files changed

+24
-12
lines changed

independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,18 @@
88
import java.nio.file.FileSystem;
99
import java.nio.file.Files;
1010
import java.nio.file.Path;
11-
import java.util.*;
11+
import java.util.ArrayList;
12+
import java.util.Collection;
13+
import java.util.HashMap;
14+
import java.util.HashSet;
15+
import java.util.Iterator;
16+
import java.util.List;
17+
import java.util.Map;
18+
import java.util.Properties;
19+
import java.util.Set;
1220
import java.util.concurrent.atomic.AtomicReference;
1321

1422
import org.apache.maven.artifact.Artifact;
15-
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
1623
import org.apache.maven.execution.MavenSession;
1724
import org.apache.maven.model.Scm;
1825
import org.apache.maven.plugin.AbstractMojo;
@@ -550,8 +557,13 @@ private static String toVersionRange(String version) {
550557
if (version == null) {
551558
return null;
552559
}
553-
DefaultArtifactVersion dav = new DefaultArtifactVersion(version);
554-
return "[" + dav.getMajorVersion() + "." + dav.getMinorVersion() + ",)";
560+
561+
// we don't use DefaultArtifactVersion here as it doesn't support 4 dotted number parts
562+
// we might get rid of this version scheme but let's make sure we support it just in case
563+
String[] versionItems = version.split("-");
564+
versionItems = versionItems[0].split("\\.");
565+
566+
return "[" + versionItems[0] + "." + (versionItems.length > 1 ? versionItems[1] : "0") + ",)";
555567
}
556568

557569
private void ensureArtifactCoords(ObjectNode extObject) {

independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/commands/CreateExtension.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
import javax.lang.model.SourceVersion;
4949

5050
import org.apache.commons.lang3.StringUtils;
51-
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
51+
import org.apache.maven.artifact.versioning.ComparableVersion;
5252
import org.apache.maven.model.Model;
5353

5454
import io.quarkus.devtools.codestarts.extension.QuarkusExtensionCodestartCatalog;
@@ -355,7 +355,7 @@ public CreateExtensionCommandHandler prepare() throws QuarkusCommandException {
355355
final Optional<String> quarkusVersion = data.getStringValue(QUARKUS_VERSION);
356356
// in 2.10.0.CR1 quarkus-bootstrap-maven-plugin was deprecated in favor of quarkus-extension-maven-plugin
357357
if (quarkusVersion.isPresent() &&
358-
new DefaultArtifactVersion("2.10.0.CR1").compareTo(new DefaultArtifactVersion(quarkusVersion.get())) > 0) {
358+
new ComparableVersion("2.10.0.CR1").compareTo(new ComparableVersion(quarkusVersion.get())) > 0) {
359359
// the legacy bootstrap plugin, if MAVEN_QUARKUS_EXTENSION_PLUGIN isn't set, it will default to the quarkus-extension-maven-plugin
360360
data.putIfAbsent(MAVEN_QUARKUS_EXTENSION_PLUGIN, "quarkus-bootstrap-maven-plugin");
361361
}

independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/update/rewrite/QuarkusUpdatesRepository.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import java.util.stream.Collectors;
2121
import java.util.stream.Stream;
2222

23-
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
23+
import org.apache.maven.artifact.versioning.ComparableVersion;
2424
import org.eclipse.aether.artifact.Artifact;
2525

2626
import io.quarkus.bootstrap.resolver.maven.BootstrapMavenException;
@@ -173,9 +173,9 @@ public String getRewritePluginVersion() {
173173

174174
static boolean shouldApplyRecipe(String recipeFileName, String currentVersion, String targetVersion) {
175175
String recipeVersion = VERSION_EXTRACTION_PATTERN.matcher(recipeFileName).replaceFirst("");
176-
final DefaultArtifactVersion recipeAVersion = new DefaultArtifactVersion(recipeVersion);
177-
final DefaultArtifactVersion currentAVersion = new DefaultArtifactVersion(currentVersion);
178-
final DefaultArtifactVersion targetAVersion = new DefaultArtifactVersion(targetVersion);
176+
final ComparableVersion recipeAVersion = new ComparableVersion(recipeVersion);
177+
final ComparableVersion currentAVersion = new ComparableVersion(currentVersion);
178+
final ComparableVersion targetAVersion = new ComparableVersion(targetVersion);
179179
return currentAVersion.compareTo(recipeAVersion) < 0 && targetAVersion.compareTo(recipeAVersion) >= 0;
180180
}
181181

@@ -276,9 +276,9 @@ private static class RecipeVersionComparator implements Comparator<Path> {
276276

277277
@Override
278278
public int compare(Path recipePath1, Path recipePath2) {
279-
DefaultArtifactVersion recipeVersion1 = new DefaultArtifactVersion(
279+
ComparableVersion recipeVersion1 = new ComparableVersion(
280280
VERSION_EXTRACTION_PATTERN.matcher(recipePath1.getFileName().toString()).replaceFirst(""));
281-
DefaultArtifactVersion recipeVersion2 = new DefaultArtifactVersion(
281+
ComparableVersion recipeVersion2 = new ComparableVersion(
282282
VERSION_EXTRACTION_PATTERN.matcher(recipePath2.getFileName().toString()).replaceFirst(""));
283283

284284
return recipeVersion1.compareTo(recipeVersion2);

0 commit comments

Comments
 (0)