summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/mojo/GenerateOsgiManifestMojo.java6
-rw-r--r--bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JdkPackages.java40
-rw-r--r--parent/pom.xml1
3 files changed, 7 insertions, 40 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 d5aaa5888b2..be71c9c149f 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
@@ -55,8 +55,14 @@ public class GenerateOsgiManifestMojo extends AbstractGenerateOsgiManifestMojo {
@Parameter(alias = "Main-Class")
private String mainClass = null;
+ @Parameter(defaultValue = "false")
+ private boolean buildVespaPlatformBundle;
+
public void execute() throws MojoExecutionException {
try {
+ if (discPreInstallBundle != null && ! buildVespaPlatformBundle)
+ throw new MojoExecutionException("The 'discPreInstallBundle' parameter can only be used by Vespa platform bundles.");
+
Artifacts.ArtifactSet artifactSet = Artifacts.getArtifacts(project);
warnOnUnsupportedArtifacts(artifactSet.getNonJarArtifacts());
warnIfInternalContainerArtifactsAreIncluded(artifactSet.getJarArtifactsToInclude());
diff --git a/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JdkPackages.java b/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JdkPackages.java
deleted file mode 100644
index c6171e71319..00000000000
--- a/bundle-plugin/src/main/java/com/yahoo/container/plugin/util/JdkPackages.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2020 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.container.plugin.util;
-
-import java.net.URL;
-
-/**
- * @author gjoranv
- */
-public class JdkPackages {
-
- /**
- * Returns a boolean indicating (via best effort) if the given package is part of the JDK.
- */
- public static boolean isJdkPackage(String pkg) {
- return hasJdkExclusivePrefix(pkg)
- || isResourceInPlatformClassLoader(pkg); // TODO: must be a class, not a package, due to module encapsulation
- }
-
- private static boolean isResourceInPlatformClassLoader(String klass) {
- String klassAsPath = klass.replaceAll("\\.", "/") + ".class";
- URL resource = getPlatformClassLoader().getResource(klassAsPath);
- return !(resource == null);
- }
-
- private static ClassLoader getPlatformClassLoader() {
- ClassLoader platform = JdkPackages.class.getClassLoader().getParent();
-
- // Will fail upon changes in classloader hierarchy between JDK versions
- assert (platform.getName().equals("platform"));
-
- return platform;
- }
-
- private static boolean hasJdkExclusivePrefix(String pkg) {
- return pkg.startsWith("java.")
- || pkg.startsWith("sun.");
- }
-
-}
-
diff --git a/parent/pom.xml b/parent/pom.xml
index ce40eb464fc..a77750b9132 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -255,6 +255,7 @@
<artifactId>bundle-plugin</artifactId>
<version>${project.version}</version>
<configuration>
+ <buildVespaPlatformBundle>true</buildVespaPlatformBundle>
<configGenVersion>${project.version}</configGenVersion>
<useCommonAssemblyIds>true</useCommonAssemblyIds>
</configuration>