################################################################################ # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ################################################################################ # # Java platform package export properties. # # Contains java.* packages provided by the JDK (and so system packages) jre-base= \ java.applet, \ java.awt, \ java.awt.color, \ java.awt.datatransfer, \ java.awt.dnd, \ java.awt.event, \ java.awt.font, \ java.awt.geom, \ java.awt.im, \ java.awt.im.spi, \ java.awt.image, \ java.awt.image.renderable, \ java.awt.print, \ java.beans, \ java.beans.beancontext, \ java.io, \ java.lang, \ java.lang.annotation, \ java.lang.constant, \ java.lang.instrument, \ java.lang.invoke, \ java.lang.management, \ java.lang.ref, \ java.lang.reflect, \ java.lang.runtime, \ java.math, \ java.net, \ java.net.http, \ java.nio, \ java.nio.channels, \ java.nio.channels.spi, \ java.nio.charset, \ java.nio.charset.spi, \ java.nio.file, \ java.nio.file.attribute, \ java.rmi, \ java.rmi.activation, \ java.rmi.dgc, \ java.rmi.registry, \ java.rmi.server, \ java.security, \ java.security.acl, \ java.security.cert, \ java.security.interfaces, \ java.security.spec, \ java.sql, \ java.text, \ java.text.spi, \ java.time, \ java.time.chrono, \ java.time.format, \ java.time.temporal, \ java.time.zone, \ java.util, \ java.util.concurrent, \ java.util.concurrent.atomic, \ java.util.concurrent.locks, \ java.util.function, \ java.util.random, \ java.util.jar, \ java.util.logging, \ java.util.prefs, \ java.util.regex, \ java.util.spi, \ java.util.stream, \ java.util.zip # # A note about javax.transaction and javax.transaction.xa packages in JDK8 and JDK9+ # - javax.transaction package is not provided at all in JDK9+ because of the removal of Corba # - javax.transaction package in JDK8 and earlier contains only 3 exception classes required to translate 3 Corba/OMG # exception: org.omg.CORBA.TRANSACTION_REQUIRED, org.omg.CORBA.TRANSACTION_ROLLEDBACK, org.omg.CORBA.INVALID_TRANSACTION # - javax.transaction.xa package should always be provided by JDK itself (thus exported from system bundle and bootdelegated) # because of javax.sql.XAConnection interface relying on javax.sql.xa.XAResource interface # - I decided to export javax.transaction.xa package with all the versions: 1.1, 1.2 and 1.3 just to satisfy all potential # import version ranges (and emphasize the fact that JavaEE doesn't version packages at all) # - javax.transaction package should be exported by JDK8 (but not JDK9+) with mandatory attribute ("partial" is an # arbirtary name mentioned in "https://docs.osgi.org/specification/osgi.core/7.0.0/framework.module.html#framework.module.requirebundle" # - javax.transaction exported with "partial=true;mandatory:=partial" prevents system bundle to be a wire candidate for # bundles with just "Import-Package: javax.transaction" - actual JTA API bundle is needed to provide all the classes # from this package (like javax.transaction.UserTransaction) # - thus javax.transaction package is exported without a version - because each bundle with "Import-Package: javax.transaction" # should always wire to full JTA API bundle. The fact that the JDK8 provided exception classes from this package # are always loaded using boot class loader is an obvious, but internal consequence # - the full trick mentioned in "3.13.1 Require-Bundle" requires another bundle that exports javax.transaction package # without mandatory attribute and that has Require-Bundle requirement to a bundle that exports the package with mandatory # attribute - and that's what javax.transaction/javax.transaction-api/1.2 does - it contains "Require-Bundle: system.bundle" # - Require-Bundle in JTA API bundle is not needed if javax.transaction is boot-delegated - because failure to search # boot-delegated javax.* packages doesn't stop the class loading process - local content is checked # - jakarta.transaction/jakarta.transaction-api/1.3.x doesn't have (by mistake, see https://github.com/eclipse-ee4j/jta-api/issues/186) # "Require-Bundle: system.bundle", but it still works thanks to boot-delegation # And last, but important thing - DBCP2 (see DBCP-571) has "Import-Package: javax.transaction.xa;partial=true;mandatory:=partial" # which is simply wrong (if anything, javax.transaction package should be imported this way, not javax.transaction.xa), # but to allow DBCP2 to be resolved on Karaf, special export package is added just for DBCP2: # Export-Package: javax.transaction.xa;partial=true;mandatory:=partial;version="1.1" # - mandatory "partial" attribute is added to javax.transaction export (JDK8) to prevent wiring to this package without # full JTA API bundle # - mandatory "partial" attribute is added to javax.transaction.xa export (all JDKs) to satisfy DBCP2 # jre-1.8= \ ${jre-base}, \ javax.accessibility, \ javax.activity, \ javax.annotation;version="1.0", \ javax.annotation.processing;version="1.0", \ javax.crypto, \ javax.crypto.interfaces, \ javax.crypto.spec, \ javax.imageio, \ javax.imageio.event, \ javax.imageio.metadata, \ javax.imageio.plugins.bmp, \ javax.imageio.plugins.jpeg, \ javax.imageio.spi, \ javax.imageio.stream, \ javax.jws, \ javax.jws.soap, \ javax.lang.model, \ javax.lang.model.element, \ javax.lang.model.type, \ javax.lang.model.util, \ javax.management, \ javax.management.loading, \ javax.management.modelmbean, \ javax.management.monitor, \ javax.management.openmbean, \ javax.management.relation, \ javax.management.remote, \ javax.management.remote.rmi, \ javax.management.timer, \ javax.naming, \ javax.naming.directory, \ javax.naming.event, \ javax.naming.ldap, \ javax.naming.spi, \ javax.net, \ javax.net.ssl, \ javax.print, \ javax.print.attribute, \ javax.print.attribute.standard, \ javax.print.event, \ javax.rmi, \ javax.rmi.CORBA, \ javax.rmi.ssl, \ javax.script, \ javax.security.auth, \ javax.security.auth.callback, \ javax.security.auth.kerberos, \ javax.security.auth.login, \ javax.security.auth.spi, \ javax.security.auth.x500, \ javax.security.cert, \ javax.security.sasl, \ javax.sound.midi, \ javax.sound.midi.spi, \ javax.sound.sampled, \ javax.sound.sampled.spi, \ javax.sql, \ javax.sql.rowset, \ javax.sql.rowset.serial, \ javax.sql.rowset.spi, \ javax.swing, \ javax.swing.border, \ javax.swing.colorchooser, \ javax.swing.event, \ javax.swing.filechooser, \ javax.swing.plaf, \ javax.swing.plaf.basic, \ javax.swing.plaf.metal, \ javax.swing.plaf.multi, \ javax.swing.plaf.synth, \ javax.swing.table, \ javax.swing.text, \ javax.swing.text.html, \ javax.swing.text.html.parser, \ javax.swing.text.rtf, \ javax.swing.tree, \ javax.swing.undo, \ javax.tools, \ javax.transaction;partial=true;mandatory:=partial, \ javax.transaction.xa;version="1.1";partial=true;mandatory:=partial, \ javax.transaction.xa;version="1.1", \ javax.transaction.xa;version="1.2", \ javax.transaction.xa;version="1.3", \ javax.xml, \ javax.xml.bind;version="2.2.8", \ javax.xml.bind.annotation;version="2.2.8", \ javax.xml.bind.annotation.adapters;version="2.2.8", \ javax.xml.bind.attachment;version="2.2.8", \ javax.xml.bind.helpers;version="2.2.8", \ javax.xml.bind.util;version="2.2.8", \ javax.xml.crypto, \ javax.xml.crypto.dom, \ javax.xml.crypto.dsig, \ javax.xml.crypto.dsig.dom, \ javax.xml.crypto.dsig.keyinfo, \ javax.xml.crypto.dsig.spec, \ javax.xml.datatype, \ javax.xml.namespace, \ javax.xml.parsers, \ javax.xml.stream;version="1.2", \ javax.xml.stream.events;version="1.2", \ javax.xml.stream.util;version="1.2", \ javax.xml.transform, \ javax.xml.transform.dom, \ javax.xml.transform.sax, \ javax.xml.transform.stax, \ javax.xml.transform.stream, \ javax.xml.validation, \ javax.xml.ws;version="2.2", \ javax.xml.ws.handler;version="2.2", \ javax.xml.ws.handler.soap;version="2.2", \ javax.xml.ws.http;version="2.2", \ javax.xml.ws.soap;version="2.2", \ javax.xml.ws.spi;version="2.2", \ javax.xml.ws.wsaddressing;version="2.2", \ javax.xml.ws.spi.http;version="2.2", \ javax.xml.xpath, \ javafx.animation, \ javafx.application, \ javafx.beans, \ javafx.beans.binding, \ javafx.beans.property, \ javafx.beans.property.adapter, \ javafx.beans.value, \ javafx.collections, \ javafx.collections.transform, \ javafx.concurrent, \ javafx.css, \ javafx.embed.swing, \ javafx.embed.swt, \ javafx.event, \ javafx.fxml, \ javafx.geometry, \ javafx.print, \ javafx.scene, \ javafx.scene.canvas, \ javafx.scene.chart, \ javafx.scene.control, \ javafx.scene.control.cell, \ javafx.scene.effect, \ javafx.scene.image, \ javafx.scene.input, \ javafx.scene.layout, \ javafx.scene.media, \ javafx.scene.paint, \ javafx.scene.shape, \ javafx.scene.text, \ javafx.scene.transform, \ javafx.scene.web, \ javafx.stage, \ javafx.util, \ javafx.util.converter, \ netscape.javascript, \ org.ietf.jgss, \ org.omg.CORBA, \ org.omg.CORBA_2_3, \ org.omg.CORBA_2_3.portable, \ org.omg.CORBA.DynAnyPackage, \ org.omg.CORBA.ORBPackage, \ org.omg.CORBA.portable, \ org.omg.CORBA.TypeCodePackage, \ org.omg.CosNaming, \ org.omg.CosNaming.NamingContextExtPackage, \ org.omg.CosNaming.NamingContextPackage, \ org.omg.Dynamic, \ org.omg.DynamicAny, \ org.omg.DynamicAny.DynAnyFactoryPackage, \ org.omg.DynamicAny.DynAnyPackage, \ org.omg.IOP, \ org.omg.IOP.CodecFactoryPackage, \ org.omg.IOP.CodecPackage, \ org.omg.Messaging, \ org.omg.PortableInterceptor, \ org.omg.PortableInterceptor.ORBInitInfoPackage, \ org.omg.PortableServer, \ org.omg.PortableServer.CurrentPackage, \ org.omg.PortableServer.POAManagerPackage, \ org.omg.PortableServer.POAPackage, \ org.omg.PortableServer.portable, \ org.omg.PortableServer.ServantLocatorPackage, \ org.omg.SendingContext, \ org.omg.stub.java.rmi, \ org.omg.stub.javax.management.remote.rmi, \ org.w3c.dom, \ org.w3c.dom.bootstrap, \ org.w3c.dom.css, \ org.w3c.dom.events, \ org.w3c.dom.html, \ org.w3c.dom.ls, \ org.w3c.dom.ranges, \ org.w3c.dom.stylesheets, \ org.w3c.dom.traversal, \ org.w3c.dom.views, \ org.w3c.dom.xpath, \ org.xml.sax, \ org.xml.sax.ext, \ org.xml.sax.helpers, \ com.sun.nio.sctp jre-9= \ ${jre-base}, \ java.lang.module, \ java.net.spi, \ javax.accessibility, \ javax.activity, \ javax.annotation;version="1.3", \ javax.annotation.processing;version="1.0", \ javax.activation;version="1.2.1", \ javax.crypto, \ javax.crypto.interfaces, \ javax.crypto.spec, \ javax.imageio, \ javax.imageio.event, \ javax.imageio.metadata, \ javax.imageio.plugins.bmp, \ javax.imageio.plugins.jpeg, \ javax.imageio.spi, \ javax.imageio.stream, \ javax.lang.model, \ javax.lang.model.element, \ javax.lang.model.type, \ javax.lang.model.util, \ javax.management, \ javax.management.loading, \ javax.management.modelmbean, \ javax.management.monitor, \ javax.management.openmbean, \ javax.management.relation, \ javax.management.remote, \ javax.management.remote.rmi, \ javax.management.timer, \ javax.naming, \ javax.naming.directory, \ javax.naming.event, \ javax.naming.ldap, \ javax.naming.spi, \ javax.net, \ javax.net.ssl, \ javax.print, \ javax.print.attribute, \ javax.print.attribute.standard, \ javax.print.event, \ javax.rmi, \ javax.rmi.ssl, \ javax.script, \ javax.security.auth, \ javax.security.auth.callback, \ javax.security.auth.kerberos, \ javax.security.auth.login, \ javax.security.auth.spi, \ javax.security.auth.x500, \ javax.security.cert, \ javax.security.sasl, \ javax.sound.midi, \ javax.sound.midi.spi, \ javax.sound.sampled, \ javax.sound.sampled.spi, \ javax.sql, \ javax.sql.rowset, \ javax.sql.rowset.serial, \ javax.sql.rowset.spi, \ javax.swing, \ javax.swing.border, \ javax.swing.colorchooser, \ javax.swing.event, \ javax.swing.filechooser, \ javax.swing.plaf, \ javax.swing.plaf.basic, \ javax.swing.plaf.metal, \ javax.swing.plaf.multi, \ javax.swing.plaf.synth, \ javax.swing.table, \ javax.swing.text, \ javax.swing.text.html, \ javax.swing.text.html.parser, \ javax.swing.text.rtf, \ javax.swing.tree, \ javax.swing.undo, \ javax.tools, \ javax.transaction.xa;version="1.1";partial=true;mandatory:=partial, \ javax.transaction.xa;version="1.1", \ javax.transaction.xa;version="1.2", \ javax.transaction.xa;version="1.3", \ javax.xml, \ javax.xml.bind;version="2.3.0", \ javax.xml.bind.annotation;version="2.3.0", \ javax.xml.bind.annotation.adapters;version="2.3.0", \ javax.xml.bind.attachment;version="2.3.0", \ javax.xml.bind.helpers;version="2.3.0", \ javax.xml.bind.util;version="2.3.0", \ javax.xml.catalog, \ javax.xml.crypto, \ javax.xml.crypto.dom, \ javax.xml.crypto.dsig, \ javax.xml.crypto.dsig.dom, \ javax.xml.crypto.dsig.keyinfo, \ javax.xml.crypto.dsig.spec, \ javax.xml.datatype, \ javax.xml.namespace, \ javax.xml.parsers, \ javax.xml.stream;version="1.2", \ javax.xml.stream.events;version="1.2", \ javax.xml.stream.util;version="1.2", \ javax.xml.transform, \ javax.xml.transform.dom, \ javax.xml.transform.sax, \ javax.xml.transform.stax, \ javax.xml.transform.stream, \ javax.xml.validation, \ javax.xml.xpath, \ javafx.animation, \ javafx.application, \ javafx.beans, \ javafx.beans.binding, \ javafx.beans.property, \ javafx.beans.property.adapter, \ javafx.beans.value, \ javafx.collections, \ javafx.collections.transformation, \ javafx.concurrent, \ javafx.css, \ javafx.embed.swing, \ javafx.embed.swt, \ javafx.event, \ javafx.fxml, \ javafx.geometry, \ javafx.print, \ javafx.scene, \ javafx.scene.canvas, \ javafx.scene.chart, \ javafx.scene.control, \ javafx.scene.control.cell, \ javafx.scene.effect, \ javafx.scene.image, \ javafx.scene.input, \ javafx.scene.layout, \ javafx.scene.media, \ javafx.scene.paint, \ javafx.scene.shape, \ javafx.scene.text, \ javafx.scene.transform, \ javafx.scene.web, \ javafx.stage, \ javafx.util, \ javafx.util.converter, \ netscape.javascript, \ org.ietf.jgss, \ org.w3c.dom, \ org.w3c.dom.bootstrap, \ org.w3c.dom.css, \ org.w3c.dom.events, \ org.w3c.dom.html, \ org.w3c.dom.ls, \ org.w3c.dom.ranges, \ org.w3c.dom.stylesheets, \ org.w3c.dom.traversal, \ org.w3c.dom.views, \ org.w3c.dom.xpath, \ org.xml.sax, \ org.xml.sax.ext, \ org.xml.sax.helpers, \ com.sun.security.sasl, \ com.sun.security.sasl.digest, \ com.sun.security.sasl.ntlm, \ com.sun.security.sasl.util jre-10 = ${jre-9} jre-11 = ${jre-10} jre-12 = ${jre-11} jre-13 = ${jre-12} jre-14 = ${jre-13} jre-15 = ${jre-14} jre-16 = ${jre-15} jre-17 = ${jre-16} jre-18 = ${jre-17} jre-19 = ${jre-18}