# ---------------------------------------------------------------------------
# JOnAS: Java(TM) Open Application Server
# Copyright (C) 2010 Bull S.A.S.
# Contact: jonas-team@ow2.org
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
# USA
# ---------------------------------------------------------------------------
# $Id$
# ---------------------------------------------------------------------------

# --------------------------------------- #
# Assign some version to system packages  #
# --------------------------------------- #

annotation-1.0 javax.annotation; version="1.0.0"

activation-1.1 javax.activation; version="1.1.0"

jaxb-2.1 javax.xml.bind; \
         javax.xml.bind.annotation; \
         javax.xml.bind.annotation.adapters; \
         javax.xml.bind.attachment; \
         javax.xml.bind.helpers; \
         javax.xml.bind.util; version="2.1.0"

transaction-1.0 javax.transaction; \
                javax.transaction.xa; version="1.0.0"

saaj-1.3 javax.xml.soap; version="1.3.0"

jws-2.0 javax.jws; \
        javax.jws.soap; version="2.0.0"

jaxws-2.1 javax.xml.ws; \
          javax.xml.ws.handler; \
          javax.xml.ws.handler.soap; \
          javax.xml.ws.http; \
          javax.xml.ws.soap; \
          javax.xml.ws.spi; \
          javax.xml.ws.wsaddressing; version="2.1.0"

jdbc-4.0 javax.sql; \
         javax.sql.rowset; \
         javax.sql.rowset.serial; \
         javax.sql.rowset.spi; version="4.0.0"

stax-1.0 javax.xml.stream; \
         javax.xml.stream.events; \
         javax.xml.stream.util; \
         javax.xml.transform.stax; version="1.0"

# Theses packages are relative to a given JVM version
# TODO We shoud probably remove some of them: it's now easier to add packages to the System Bundle
sun-extra-packages sun.misc; \
                   sun.reflect;\
                   sun.rmi.registry; \
                   sun.rmi.server; \
                   sun.rmi.transport; \
                   sun.security.util; \
                   sun.security.provider; \
                   sun.util.calendar

jacorb-packages org.jacorb.orb.etf; \
                org.jacorb.orb.iiop; \
                org.jacorb.orb.portableInterceptor; \
                org.jacorb.orb.rmi; \
                org.jacorb.poa

xpath-packages org.apache.xpath; \
               org.apache.xpath.compiler; \
               org.apache.xpath.functions; \
               org.apache.xpath.objects; \
               org.apache.xml.utils

# Theses packages are the one provided by a JVM
se-corba-packages 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.CosTransactions; \
                  org.omg.CSI; \
                  org.omg.CSIIOP; \
                  org.omg.Dynamic; \
                  org.omg.DynamicAny; \
                  org.omg.DynamicAny.DynAnyFactoryPackage; \
                  org.omg.DynamicAny.DynAnyPackage; \
                  org.omg.ETF; \
                  org.omg.GSSUP; \
                  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.SSLIOP; \
                  org.omg.stub.java.rmi; \
                  org.omg.stub.javax.management.remote.rmi

# Theses complementary CORBA packages are provided by the JacORB version of the APIs
# Theoretically, they should only be included when the jacorb-corba-api jar is in endorsed directory
# By default, we assume that jacorb-corba-api packages are always available
jacorb-corba-packages org.omg.CosTransactions; \
                      org.omg.CSI; \
                      org.omg.CSIIOP; \
                      org.omg.ETF; \
                      org.omg.GSSUP; \
                      org.omg.SSLIOP


# --------------------------------------- #
#          Java SE 6 Environment          #
# --------------------------------------- #

# Notes: Packages provided by JOnAS:
#  * javax.transaction.*
#    -> JDK provides incomplete packages
#  * javax.annotation
#    -> Could be provided by the JDK
#  * javax.jws.*
#    -> Could be provided by the JDK
#  * javax.activation
#    -> Maybe we can have some CNFE exception if we use the package from the JDK
#  * javax.xml.soap.*
#    -> Maybe we can have some CNFE exception if we use the package from the JDK
#  * javax.xml.bind.*
#    -> Maybe we can have some CNFE exception if we use the package from the JDK
#  * javax.xml.ws.*
#    -> Maybe we can have some CNFE exception if we use the package from the JDK
#  * javax.xml.stream.*, javax.xml.transform.stax; 
#    -> We can have some problems if we use those packages from the JDK
#    -> Note that we don't really know which version is embedded in the JDK 6 (1.0, 1.1, 1.2 ?)
#       (StAX 1.2 API Upgrade in the Sun JDK version 1.6.0_18)
#
# -> Theses packages will NOT BE EXPORTED by the System Bundle (even if they
#    really are located in rt.jar)

# ${annotation-1.0},\
# ${activation-1.1},\
# ${jaxb-2.1},\
# ${transaction-1.0},\
# ${saaj-1.3},\
# ${jws-2.0},\
# ${jaxws-2.1},\
# ${stax-1.0},\

javase-1.6 ${jdbc-4.0}, \
           javax.accessibility; \
           javax.activity; \
           javax.annotation.processing; \
           javax.crypto;\
           javax.crypto.spec;\
           javax.crypto.interfaces;\
           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.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.smartcardio; \
           javax.sound.midi; \
           javax.sound.midi.spi; \
           javax.sound.sampled; \
           javax.sound.sampled.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.xml; \
           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.transform; \
           javax.xml.transform.dom; \
           javax.xml.transform.sax; \
           javax.xml.transform.stream; \
           javax.xml.validation; \
           javax.xml.xpath; \
           org.ietf.jgss; \
           org.jcp.xml.dsig.internal; \
           org.jcp.xml.dsig.internal.dom; \
           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; \
           ${sun-extra-packages}; \
           ${jacorb-packages}; \
           ${xpath-packages}; \
           ${se-corba-packages}; \
           ${jacorb-corba-packages}; \
           version="1.6.0"

# --------------------------------------- #
#         Java SE 1.5 Environment         #
# --------------------------------------- #

# Notes: Packages provided by JOnAS:
#  * javax.transaction.*
#    -> JDK provides incomplete packages
#
# -> Theses packages will NOT BE EXPORTED by the System Bundle (even if they
#    really are located in rt.jar)

javase-1.5 javax.accessibility; \
           javax.activity; \
           javax.imageio; \
           javax.crypto;\
           javax.crypto.spec;\
           javax.crypto.interfaces;\
           javax.imageio.event; \
           javax.imageio.metadata; \
           javax.imageio.plugins.bmp; \
           javax.imageio.plugins.jpeg; \
           javax.imageio.spi; \
           javax.imageio.stream; \
           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.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.xml; \
           javax.xml.datatype; \
           javax.xml.namespace; \
           javax.xml.parsers; \
           javax.xml.transform; \
           javax.xml.transform.dom; \
           javax.xml.transform.sax; \
           javax.xml.transform.stream; \
           javax.xml.validation; \
           javax.xml.xpath; \
           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; \
           ${sun-extra-packages}; \
           ${jacorb-packages}; \
           ${xpath-packages}; \
           ${se-corba-packages}; \
           ${jacorb-corba-packages}; \
           version="1.5.0"
