From 2020e83c00fa8de0833aee1ce955d782c37723c2 Mon Sep 17 00:00:00 2001 From: Alexey Loubyansky Date: Tue, 14 Jun 2022 15:16:15 +0200 Subject: [PATCH] Adjusted config for removed resources in the ExtensionDescriptorMojo to have valid XML --- .../quarkus/maven/ExtensionDescriptorMojo.java | 18 ++++++++++++------ .../quarkus/maven/ExtensionDescriptorMojo.java | 17 +++++++++++------ .../extension/runtime/pom.xml | 5 ++++- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java b/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java index 70243d097cb2a..8b52b3dcbef12 100644 --- a/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java +++ b/independent-projects/bootstrap/maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java @@ -22,6 +22,7 @@ import io.quarkus.bootstrap.resolver.maven.workspace.LocalWorkspace; import io.quarkus.bootstrap.util.DependencyNodeUtils; import io.quarkus.fs.util.ZipUtils; +import io.quarkus.maven.ExtensionDescriptorMojo.RemovedResources; import io.quarkus.maven.capabilities.CapabilitiesConfig; import io.quarkus.maven.capabilities.CapabilityConfig; import io.quarkus.maven.dependency.ArtifactCoords; @@ -91,6 +92,11 @@ @Mojo(name = "extension-descriptor", defaultPhase = LifecyclePhase.PROCESS_RESOURCES, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, threadSafe = true) public class ExtensionDescriptorMojo extends AbstractMojo { + public static class RemovedResources { + String key; + String resources; + } + private static final String GROUP_ID = "group-id"; private static final String ARTIFACT_ID = "artifact-id"; private static final String METADATA = "metadata"; @@ -164,7 +170,7 @@ public class ExtensionDescriptorMojo extends AbstractMojo { * but in the `META-INF/quarkus-extension.properties`. */ @Parameter - Map removedResources = Map.of(); + List removedResources = List.of(); /** * Artifacts that are always loaded parent first when running in dev or test mode. This is an advanced option @@ -321,18 +327,18 @@ public void execute() throws MojoExecutionException { } if (!removedResources.isEmpty()) { - for (Map.Entry entry : removedResources.entrySet()) { + for (RemovedResources entry : removedResources) { final ArtifactKey key; try { - key = ArtifactKey.fromString(entry.getKey()); + key = ArtifactKey.fromString(entry.key); } catch (IllegalArgumentException e) { throw new MojoExecutionException( - "Failed to parse removed resource '" + entry.getKey() + '=' + entry.getValue() + "'", e); + "Failed to parse removed resource '" + entry.key + '=' + entry.resources + "'", e); } - if (entry.getValue() == null || entry.getValue().isBlank()) { + if (entry.resources == null || entry.resources.isBlank()) { continue; } - final String[] resources = entry.getValue().split(","); + final String[] resources = entry.resources.split(","); if (resources.length == 0) { continue; } diff --git a/independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java b/independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java index 76c8c7e5ec7dc..415867e0b77d5 100644 --- a/independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java +++ b/independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java @@ -87,6 +87,11 @@ @Mojo(name = "extension-descriptor", defaultPhase = LifecyclePhase.PROCESS_RESOURCES, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME, threadSafe = true) public class ExtensionDescriptorMojo extends AbstractMojo { + public static class RemovedResources { + String key; + String resources; + } + private static final String GROUP_ID = "group-id"; private static final String ARTIFACT_ID = "artifact-id"; private static final String METADATA = "metadata"; @@ -169,7 +174,7 @@ public class ExtensionDescriptorMojo extends AbstractMojo { * but in the `META-INF/quarkus-extension.properties`. */ @Parameter - Map removedResources = Map.of(); + List removedResources = List.of(); /** * Artifacts that are always loaded parent first when running in dev or test mode. This is an advanced option @@ -336,18 +341,18 @@ public void execute() throws MojoExecutionException { } if (!removedResources.isEmpty()) { - for (Map.Entry entry : removedResources.entrySet()) { + for (RemovedResources entry : removedResources) { final ArtifactKey key; try { - key = ArtifactKey.fromString(entry.getKey()); + key = ArtifactKey.fromString(entry.key); } catch (IllegalArgumentException e) { throw new MojoExecutionException( - "Failed to parse removed resource '" + entry.getKey() + '=' + entry.getValue() + "'", e); + "Failed to parse removed resource '" + entry.key + '=' + entry.resources + "'", e); } - if (entry.getValue() == null || entry.getValue().isBlank()) { + if (entry.resources == null || entry.resources.isBlank()) { continue; } - final String[] resources = entry.getValue().split(","); + final String[] resources = entry.resources.split(","); if (resources.length == 0) { continue; } diff --git a/integration-tests/maven/src/test/resources-filtered/projects/extension-removed-resources/extension/runtime/pom.xml b/integration-tests/maven/src/test/resources-filtered/projects/extension-removed-resources/extension/runtime/pom.xml index 051cb701236d7..cb89f7886c31a 100644 --- a/integration-tests/maven/src/test/resources-filtered/projects/extension-removed-resources/extension/runtime/pom.xml +++ b/integration-tests/maven/src/test/resources-filtered/projects/extension-removed-resources/extension/runtime/pom.xml @@ -34,7 +34,10 @@ \${project.groupId}:\${project.artifactId}-deployment:\${project.version} - META-INF/a + + org.acme:acme-resources + META-INF/a +