diff options
Diffstat (limited to 'jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java')
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java index e8e6373f2ed..7a09690b35d 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ExportPackages.java @@ -13,7 +13,6 @@ import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; import java.util.Properties; @@ -36,45 +35,45 @@ public class ExportPackages { if (!fileName.endsWith(PROPERTIES_FILE)) { throw new IllegalArgumentException("Expected '" + PROPERTIES_FILE + "', got '" + fileName + "'."); } - StringBuilder out = new StringBuilder(); - out.append(getSystemPackages()).append(",") - .append("com.sun.security.auth,") - .append("com.sun.security.auth.module,") - .append("com.sun.management,") - .append("com.yahoo.jdisc,") - .append("com.yahoo.jdisc.application,") - .append("com.yahoo.jdisc.handler,") - .append("com.yahoo.jdisc.service,") - .append("com.yahoo.jdisc.statistics,") - .append("javax.inject;version=1.0.0,") // Included in guice, but not exported. Needed by container-jersey. - .append("org.aopalliance.intercept,") - .append("org.aopalliance.aop,") - .append("sun.misc,") - .append("sun.net.util,") - .append("sun.security.krb5,") - - // TODO: remove for Vespa 7 (xml-apis:xml-apis:1.4.01 is not a bundle, but exposed from system classpath on Java 9) - .append("org.w3c.dom.bootstrap,") - .append("org.w3c.dom.css,") - .append("org.w3c.dom.events,") - .append("org.w3c.dom.html,") - .append("org.w3c.dom.ls,") - .append("org.w3c.dom.ranges,") - .append("org.w3c.dom.stylesheets,") - .append("org.w3c.dom.traversal,") - .append("org.w3c.dom.views"); - - for (int i = 1; i < args.length; ++i) { - out.append(",").append(getExportedPackages(args[i])); - } + String exportPackages = getExportPackages(args); Properties props = new Properties(); - props.setProperty(EXPORT_PACKAGES, out.toString()); + props.setProperty(EXPORT_PACKAGES, exportPackages); try (FileWriter writer = new FileWriter(new File(fileName))) { props.store(writer, "generated by " + ExportPackages.class.getName()); } } + private static String getExportPackages(String[] jars) throws IOException { + StringBuilder out = new StringBuilder(); + out.append(getSystemPackages()).append(", ") + .append("com.yahoo.jdisc, ") + .append("com.yahoo.jdisc.application, ") + .append("com.yahoo.jdisc.handler, ") + .append("com.yahoo.jdisc.service, ") + .append("com.yahoo.jdisc.statistics, ") + .append("javax.inject;version=1.0.0, ") // Included in guice, but not exported. Needed by container-jersey. + .append("org.aopalliance.intercept, ") + .append("org.aopalliance.aop"); + + for (int i = 1; i < jars.length; ++i) { + out.append(", ").append(getExportedPackages(jars[i])); + } + + //TODO: temporary additions for backwards compatibility with Vespa 6. Remove when all apps have been built with 7 + out.append(", ") + .append("javax.annotation, ") + .append("javax.activation, ") + .append("javax.xml.bind.annotation.adapters, ") + .append("javax.xml.bind.annotation, ") + .append("javax.xml.bind.attachment, ") + .append("javax.xml.bind.helpers, ") + .append("javax.xml.bind.util, ") + .append("javax.xml.bind"); + + return out.toString(); + } + public static String readExportProperty() { Properties props = new Properties(); try { |