From 7b729a6f399bcc517a15a5b3e4dfcfab7ad1cebd Mon Sep 17 00:00:00 2001 From: gjoranv Date: Wed, 28 Jun 2023 14:54:49 +0200 Subject: Add a record representation of a provided artifact. --- .../plugin/mojo/GenerateOsgiManifestMojo.java | 4 +++- .../com/yahoo/container/plugin/util/Artifacts.java | 4 ---- .../container/plugin/util/ProvidedArtifact.java | 21 +++++++++++++++++++++ 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 bundle-plugin/src/main/java/com/yahoo/container/plugin/util/ProvidedArtifact.java (limited to 'bundle-plugin/src/main') diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java index e20b42da4e6..b6f6d00b4d1 100644 --- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java +++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java @@ -9,6 +9,7 @@ import com.yahoo.container.plugin.osgi.ExportPackages; import com.yahoo.container.plugin.osgi.ExportPackages.Export; import com.yahoo.container.plugin.osgi.ImportPackages.Import; import com.yahoo.container.plugin.util.Artifacts; +import com.yahoo.container.plugin.util.ProvidedArtifact; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Mojo; @@ -172,7 +173,8 @@ public class GenerateOsgiManifestMojo extends AbstractGenerateOsgiManifestMojo { if (effectiveBundleType() == BundleType.CORE) { addIfNotEmpty(manifestContent, "X-JDisc-Provided-Artifact", providedJarArtifacts.stream() - .map(Artifacts::idAndVersion) + .map(ProvidedArtifact::new) + .map(ProvidedArtifact::stringValue) .collect(Collectors.joining(","))); } } diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/Artifacts.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/Artifacts.java index 2bbdece06ac..bde0c124229 100644 --- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/Artifacts.java +++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/Artifacts.java @@ -49,10 +49,6 @@ public class Artifacts { } } - public static String idAndVersion(Artifact artifact) { - return artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion(); - } - public static ArtifactSet getArtifacts(MavenProject project) { return getArtifacts(project, new NoopScopeTranslator()); } public static ArtifactSet getArtifacts(MavenProject project, ScopeTranslator scopeTranslator) { diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/ProvidedArtifact.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/ProvidedArtifact.java new file mode 100644 index 00000000000..76782148cf1 --- /dev/null +++ b/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/ProvidedArtifact.java @@ -0,0 +1,21 @@ +package com.yahoo.container.plugin.util; + +import org.apache.maven.artifact.Artifact; + +/** + * Helper class to work with artifacts provided by the container. + * + * @author gjoranv + */ +public record ProvidedArtifact(String groupId, String artifactId, String version) { + + + public ProvidedArtifact(Artifact artifact) { + this(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); + } + + public String stringValue() { + return groupId + ":" + artifactId + ":" + version; + } + +} -- cgit v1.2.3