summaryrefslogtreecommitdiffstats
path: root/bundle-plugin
diff options
context:
space:
mode:
authorgjoranv <gv@yahooinc.com>2023-06-28 14:54:49 +0200
committergjoranv <gv@yahooinc.com>2023-06-30 16:31:35 +0200
commit7b729a6f399bcc517a15a5b3e4dfcfab7ad1cebd (patch)
treea7ae909aa46e6dc2e21391e7e0741e03fcd18b77 /bundle-plugin
parent91d2a3d087225619d77d979314c4333cffb65820 (diff)
Add a record representation of a provided artifact.
Diffstat (limited to 'bundle-plugin')
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java4
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/util/Artifacts.java4
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/util/ProvidedArtifact.java21
3 files changed, 24 insertions, 5 deletions
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;
+ }
+
+}