blob: 00bcee1f53e7492dd9a25dfaab584df1dde63c0e [file] [log] [blame]
/*
* Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code 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 General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
// These classes are not referenced in the JDK but we can't
// remove them for compatibility reason. Define this module
// first so that other modules don't need to exclude these clases
module private-legacy {
include sun.misc.Cache*,
sun.misc.ClassLoaderUtil,
sun.misc.Compare,
sun.misc.ConditionLock,
sun.misc.CRC16,
sun.misc.Lock,
sun.misc.Regexp,
sun.misc.RequestProcessor,
sun.misc.Sort,
sun.misc.Request,
sun.misc.Timeable,
sun.misc.Timer,
sun.misc.TimerThread,
sun.misc.TimerTickThread,
sun.misc.UCDecoder,
sun.misc.UCEncoder,
sun.misc.UUDecoder,
sun.misc.UUEncoder,
com.sun.net.ssl.SSLContext,
sun.net.NetworkServer,
sun.net.URLCanonicalizer,
sun.reflect.misc.ConstructorUtil,
sun.reflect.FieldInfo,
sun.reflect.SignatureIterator,
sun.reflect.generics.reflectiveObjects.NotImplementedException,
sunw.io.Serializable,
sunw.util.EventListener,
sunw.util.EventObject;
}
// Deprecated classes that aren't referenced/used go here.
module deprecated {
// add deprecated security classes once b78 is promoted
}
/**************************************************************************/
module base {
// core classes
include java.lang.*,
java.lang.annotation.*,
java.lang.ref.*,
java.lang.reflect.*,
java.math.*,
java.net.*,
java.util.*,
java.util.concurrent.**,
java.util.jar.*,
java.util.regex.*,
java.util.spi.*,
java.util.zip.*,
java.text.**;
exclude java.util.jar.Pack200*,
java.util.XMLUtils,
java.text.Bidi;
include java.io.*, java.nio.*, java.nio.charset.**;
exclude java.io.TempFileHelper, java.nio.BufferPoolMXBean;
// security APIs
// javax.crypto and javax.security.auth are included to avoid inconsistent
// spliting of JCA and JAAS. This adds about 85k. Also note that some deprecated
// classes must be included for now (see 6876158, 6876170)
include java.security.*,
java.security.cert.*,
java.security.interfaces.*,
java.security.spec.*,
javax.security.auth.**,
javax.crypto.**;
// Sun and RSA security providers (except LDAP CertStore)
// roots sun.security.provider.* sun.security.provider.certpath.* sun.security.rsa.*
include com.sun.security.auth.PrincipalComparator,
com.sun.security.auth.SubjectCodeSource,
com.sun.security.auth.login.**,
com.sun.security.auth.Policy*,
sun.security.action.*,
sun.security.ec.*,
sun.security.jca.*,
sun.security.pkcs.*,
sun.security.provider.*,
sun.security.provider.certpath.*,
sun.security.rsa.*,
sun.security.util.*,
sun.security.validator.*,
sun.security.x509.*,
sun.security.timestamp.*;
// this list is based on the classlist generated from the rootset
// need investigation
exclude sun.security.ec.ECD*,
sun.security.ec.ECKeyPairGenerator,
sun.security.ec.SunEC*,
sun.security.pkcs.PKCS10*,
sun.security.pkcs.EncodingException,
sun.security.util.AuthResources_*,
sun.security.util.Resources_*,
sun.security.util.BigInt,
sun.security.util.HostnameChecker,
sun.security.x509.CertAndKeyGen,
sun.security.util.PathList;
// Kerberos not needed
exclude javax.security.auth.kerberos.**,
sun.security.jgss.**,
sun.security.krb5.**,
sun.security.ssl.Kerberos*,
org.ietf.jgss.**;
// property events and annotations
include java.beans.ChangeListenerMap,
java.beans.IndexedPropertyChangeEvent,
java.beans.PropertyChange*,
java.beans.PropertyVetoException,
java.beans.VetoableChange*,
java.beans.ConstructorProperties;
// mandatory charsets
include sun.nio.cs.*;
exclude sun.nio.cs.AbstractCharsetProvider,
sun.nio.cs.CharsetMapping,
sun.nio.cs.IBM*,
sun.nio.cs.ISO*,
sun.nio.cs.KOI8_*,
sun.nio.cs.MS125*,
sun.nio.cs.UTF_32*,
sun.nio.cs.SingleByteDecoder,
sun.nio.cs.SingleByteEncoder;
allow sun.nio.cs.ISO_8859_1,
sun.nio.cs.ISO_8859_15,
sun.nio.cs.MS1252;
include sun.text.*,
sun.text.normalizer.*;
// resource files
include sun/text/resources/*.icu;
exclude sun.text.bidi.*,
sun.text.CharArrayCodePointIterator,
sun.text.CharSequenceCodePointIterator,
sun.text.CharacterIteratorCodePointIterator,
sun.text.CodePointIterator;
include sun.util.*,
sun.util.calendar.*,
sun.util.logging.*,
sun.util.resources.LocaleData,
sun.util.resources.LocaleNamesBundle,
sun.util.resources.OpenListResourceBundle;
// US_en locale
include sun.text.resources.BreakIteratorInfo,
sun.text.resources.FormatData,
sun.text.resources.FormatData_en_US,
sun.util.resources.CalendarData,
sun.util.resources.CalendarData_en,
sun.util.resources.TimeZoneNames,
sun.util.resources.TimeZoneNames_en,
sun.util.resources.TimeZoneNamesBundle,
sun.util.resources.LocaleNames,
sun.util.resources.LocaleNames_en,
sun.util.resources.LocalenamesBundles,
sun.util.resources.CurrencyNames,
sun.util.resources.CurrencyNames_en_US,
sun.util.EmptyListResourceBundle;
// resources file needed by
// - sun.misc.ExtensionInfo
// - sun.security.provider.PolicyFile
// - com.sun.security.auth.PolicyFile
include sun.misc.resources.Messages,
sun.security.util.Resources,
sun.security.util.AuthResources;
// java.nio.channels and java.nio.file not in base
include sun.nio.ch.Interruptible,
sun.nio.ch.DirectBuffer,
sun.nio.ByteBuffered;
include sun.reflect.**;
// protocol handlers
include sun.net.www.protocol.file.*,
sun.net.www.protocol.jar.*,
sun.net.www.protocol.http.*;
include sun.net.*,
sun.net.spi.*,
sun.net.idn.*,
sun.net.util.*,
sun.net.www.*,
sun.net.www.http.*,
sun.net.spi.nameservice.*;
// resource file for sun.net.idn
include sun/net/idn/*;
// classes in net-compat
exclude sun.net.Telnet*, sun.net.TransferProtocolClient;
// classes in deploy
exclude sun.net.www.protocol.http.AuthCacheBridge;
// classes in security-jsse
exclude java.net.SecureCacheResponse;
// launcher
include sun.launcher.LauncherHelper, sun.launcher.resources.launcher;
include sun.misc.*;
exclude sun.misc.FIFOQueueEnumerator,
sun.misc.LIFOQueueEnumerator,
sun.misc.GC,
sun.misc.PerformanceLogger,
sun.misc.Queue,
sun.misc.QueueElement,
sun.misc.Ref,
sun.misc.VMSupport;
// On Windows, OSEnvironment dependency
include sun.io.Win32ErrorMode;
}
/**************************************************************************/
module charsets {
include sun.nio.cs.ext.**;
include sun.nio.cs.AbstractCharsetProvider,
sun.nio.cs.CharsetMapping,
sun.nio.cs.IBM*,
sun.nio.cs.ISO*,
sun.nio.cs.KOI8_*,
sun.nio.cs.MS125*,
sun.nio.cs.SingleByte*,
sun.nio.cs.UTF_32*;
exclude sun.nio.cs.ISO_8859_1,
sun.nio.cs.MS1252;
// legacy sun.io converters
include sun.io.*;
}
/**************************************************************************/
// For now, retains the current JRE extensions where localedata.jar in jre/lib/ext
module localedata {
include sun.util.resources.*_ar,
sun.util.resources.*_ar_*,
sun.util.resources.*_hi,
sun.util.resources.*_hi_*,
sun.util.resources.*_iw,
sun.util.resources.*_iw_*,
sun.util.resources.*_ja,
sun.util.resources.*_ja_*,
sun.util.resources.*_ko,
sun.util.resources.*_ko_*,
sun.util.resources.*_th,
sun.util.resources.*_th_*,
sun.util.resources.*_vi,
sun.util.resources.*_vi_*,
sun.util.resources.*_zh,
sun.util.resources.*_zh_*;
include sun.text.resources.*_ar,
sun.text.resources.*_ar_*,
sun.text.resources.*_hi,
sun.text.resources.*_hi_*,
sun.text.resources.*_iw,
sun.text.resources.*_iw_*,
sun.text.resources.*_ja,
sun.text.resources.*_ja_*,
sun.text.resources.*_ko,
sun.text.resources.*_ko_*,
sun.text.resources.*_th,
sun.text.resources.*_th_*,
sun.text.resources.*_vi,
sun.text.resources.*_vi_*,
sun.text.resources.*_zh,
sun.text.resources.*_zh_*;
}
module resources {
include sun.text.resources.*, sun.util.resources.*, sun.misc.resources.*;
}
/**************************************************************************/
module nio {
include java.nio.channels.**, java.nio.file.**, com.sun.nio.file.**;
// this is excluded from base
include java.io.TempFileHelper;
// provider implementations and their dependencies
include sun.nio.ch.*, sun.nio.fs.**;
exclude sun.nio.ch.Sctp*;
}
/**************************************************************************/
module pack200 {
include java.util.jar.Pack200*, com.sun.java.util.jar.pack.**;
}
/**************************************************************************/
module logging {
include java.util.logging.*, sun.util.logging.**;
exclude java.util.logging.PlatformLoggingMXBean;
// Formatter for HTTP messages
include sun.net.www.protocol.http.logging.*;
}
/**************************************************************************/
module management-snmp {
include com.sun.jmx.snmp.**, sun.management.snmp.**;
}
module management-iiop {
include com.sun.jmx.remote.protocol.iiop.*;
// stubs and ties
include javax.management.remote.rmi._*,
org.omg.stub.javax.management.remote.rmi.**;
}
module management {
include java.lang.management.*, com.sun.management.**, sun.management.**;
include javax.management.**, com.sun.jmx.**;
// other management interfaces
include java.nio.BufferPoolMXBean;
include java.util.logging.PlatformLoggingMXBean;
// supporting classes in sun.misc
include sun.misc.VMSupport;
}
/**************************************************************************/
module tracing {
// tracing
include com.sun.tracing.**, sun.tracing.**;
}
module instrument {
// java.lang.instrument
include java.lang.instrument.*, sun.instrument.*;
// HPROF support
include com.sun.demo.jvmti.hprof.*;
include tracing;
}
/**************************************************************************/
module rmi-activation {
include java.rmi.activation.**,
sun.rmi.server.Act*,
sun.rmi.server.InactiveGroupException;
}
module rmic {
// rmic is included in tools
include sun.rmi.rmic.**;
}
module rmi {
include java.rmi.**, sun.rmi.**, com.sun.rmi.**;
// SSL factories are in rmi
include javax.rmi.ssl.**;
// supporting classes in sun.misc and dependencies
include sun.misc.GC;
}
/**************************************************************************/
module prefs {
include java.util.prefs.*;
}
/**************************************************************************/
module security-jsse {
include javax.net.**,
javax.security.cert.*,
java.net.SecureCacheResponse,
com.sun.net.ssl.**,
com.sun.security.cert.internal.x509.*,
sun.security.ssl.*,
sun.net.www.protocol.https.**,
sun.security.internal.interfaces.Tls*,
sun.security.internal.spec.Tls*,
sun.security.util.HostnameChecker;
}
module security-sunpkcs11 {
include sun.security.pkcs11.**;
}
module security-sunjce {
include com.sun.crypto.provider.*;
}
module security-sunec {
include sun.security.ec.*;
}
module security-sunmscapi {
include sun.security.mscapi.*;
}
module security-kerberos {
include javax.security.auth.kerberos.*,
com.sun.security.jgss.**,
com.sun.security.auth.module.Krb5LoginModule,
com.sun.security.sasl.gsskerb.**, // GSSAPI SASL mechanism
sun.security.jgss.**,
sun.security.ssl.krb5.**,
sun.security.krb5.**,
org.ietf.jgss.**,
sun.net.www.protocol.http.spnego.*;
}
module security-sasl {
include javax.security.sasl.**,
com.sun.security.sasl.**;
}
module security-xmldsig {
include javax.xml.crypto.**,
org.jcp.xml.dsig.**,
com.sun.org.apache.xml.internal.security.**;
}
module security-smartcardio {
include javax.smartcardio.**, sun.security.smartcardio.**;
}
module security-auth {
include com.sun.security.auth.**, sun.security.util.AuthResources_*;
}
module security-misc {
include security-auth;
include sun.security.pkcs.*,
sun.security.pkcs12.*;
// this class is a candidate to be removed.
include sun.security.util.BigInt;
}
module security-resources {
include sun.security.util.Resources_*;
}
module security-compat {
include java.security.acl.*, sun.security.acl.*;
}
/**************************************************************************/
module jndi-ldap {
include javax.naming.ldap.**,
com.sun.jndi.ldap.**,
com.sun.jndi.url.ldap.*,
com.sun.jndi.url.ldaps.*,
sun.security.provider.certpath.ldap.**;
}
module jndi-rmiregistry {
include com.sun.jndi.rmi.**, com.sun.jndi.url.rmi.**;
}
module jndi-dns {
include net-dns;
include com.sun.jndi.dns.**, com.sun.jndi.url.dns.**;
}
module jndi-cosnaming {
include com.sun.jndi.cosnaming.**,
com.sun.jndi.toolkit.corba.**,
com.sun.jndi.url.corbaname.**,
com.sun.jndi.url.iiop.**,
com.sun.jndi.url.iiopname.**;
}
// framework/API and classes used by providers
module jndi {
include javax.naming.**,
com.sun.naming.**,
com.sun.jndi.toolkit.ctx.**,
com.sun.jndi.toolkit.dir.**,
com.sun.jndi.toolkit.url.**;
}
/**************************************************************************/
module jdbc-base {
include java.sql.**, javax.sql.*;
exclude javax.sql.XA*;
}
module jdbc-enterprise {
include javax.sql.**, com.sun.rowset.**;
}
module jdbc-odbc {
include sun.jdbc.odbc.**;
}
/**************************************************************************/
module scripting {
include javax.script.**;
// supporting classes for scripting engines
include com.sun.script.util.**;
}
module scripting-rhino {
include com.sun.script.javascript.**, sun.org.mozilla.javascript.**;
}
/**************************************************************************/
module httpserver {
include com.sun.net.httpserver.**, sun.net.httpserver.**;
}
/**************************************************************************/
module sctp {
// API and dependencies
include com.sun.nio.sctp.**, sun.nio.ch.Sctp*;
}
/**************************************************************************/
module langtools {
include javax.tools.**, javax.lang.model.**, javax.annotation.processing.**;
// include mirror API for now
include com.sun.mirror.**;
// include the JSR292 APIs for now
include java.dyn.**, sun.dyn.**;
}
/**************************************************************************/
module beans {
include java.beans.**, com.sun.beans.**, sun.beans.**;
}
/**************************************************************************/
module jaxp-parsers-api {
include javax.xml.*, javax.xml.parsers.**,
org.w3c.dom.**, org.w3c.sax.**, org.xml.sax.**;
}
module jaxp-api {
include javax.xml.**;
exclude javax.xml.crypto.**, // XML-DSIG
javax.xml.bind.**, // JAX-WS
javax.xml.soap.**,
javax.xml.ws.**;
}
module jaxp-xerces-impl {
include com.sun.org.apache.xerces.internal.**;
// include in xerces-impl due to circular dependencies
include com.sun.org.apache.xml.internal.serialize.**,
com.sun.xml.internal.stream.**;
exclude com.sun.xml.internal.stream.buffer.**; // JAX-WS
}
// required by Xerces and JAX-WS
module jaxp-xerces-resolver {
include com.sun.org.apache.xml.internal.resolver.**;
}
module jaxp-xalan {
include com.sun.org.apache.xalan.internal.**,
com.sun.org.apache.xpath.internal.**,
com.sun.org.apache.xml.internal.dtm.**,
com.sun.org.apache.xml.internal.res.**,
com.sun.org.apache.xml.internal.serializer.**,
com.sun.org.apache.xml.internal.utils.**,
com.sun.org.apache.bcel.internal.**,
com.sun.org.apache.regexp.internal.**,
com.sun.java_cup.internal.**;
}
/**************************************************************************/
module jaxws-tools {
include com.sun.codemodel.**,
com.sun.xml.internal.dtdparser.**,
com.sun.xml.internal.rngom.**,
com.sun.xml.internal.xsom.**,
com.sun.istack.internal.tools.**,
com.sun.istack.internal.ws.**,
com.sun.tools.internal.xjc.**,
com.sun.tools.internal.ws.**,
com.sun.tools.internal.jxc.**,
org.relaxng.datatype.**;
}
module jaxws {
include javax.jws.**,
javax.xml.bind.**,
javax.xml.soap.**,
javax.xml.ws.**,
org.relaxng.**,
com.sun.istack.internal.*,
com.sun.istack.internal.localization.*,
com.sun.xml.internal.**;
// include JAF in this module
include javax.activation.**, com.sun.activation.**;
include META-INF/mailcap.default,
META-INF/mimetypes.default;
}
/**************************************************************************/
module enterprise-base {
include javax.transaction.**, // JTA
javax.annotation.*; // Common annotations (JSR-250)
}
/**************************************************************************/
module corba {
include javax.activity.**,
javax.rmi.*,
javax.rmi.CORBA.*,
javax.transaction.**,
com.sun.corba.**,
com.sun.org.omg.**,
org.omg.**,
sun.corba.**;
// JMX remote API
exclude org.omg.stub.javax.management.**;
}
/**************************************************************************/
module applet {
include java.applet.**,
sun.applet.**;
}
module awt {
include java.awt.**,
sun.awt.**,
com.sun.awt.**;
}
module font {
include sun.font.**;
}
module imageio {
include javax.imageio.**,
com.sun.imageio.**;
}
module java2d {
include sun.dc.**,
sun.java2d.**,
com.sun.image.**;
}
module media {
include com.sun.media.**;
}
module print {
include javax.print.**,
sun.print.**;
}
module sound {
include javax.sound.**;
}
module swing {
include javax.swing.**,
sun.swing.**,
// sajdi also contains classes in subpackages of com.sun.java.swing;
// so use '*' instead of '**'
com.sun.java.swing.*,
com.sun.java.swing.plaf.**,
com.sun.swing.**;
}
module client {
include applet,
awt,
font,
imageio,
java2d,
media,
print,
sound,
swing;
include javax.accessibility.*,
sun.audio.**,
com.sun.accessibility.**;
// Bidi class in client module for now
include java.text.Bidi, sun.text.bidi.*;
// PerformanceLogger and dependencies
include sun.misc.Ref, sun.misc.PerformanceLogger;
// misc. dependencies that we need to examine
include sun.text.CodePointIterator,
sun.text.Char*,
sun.misc.Queue*,
sun.misc.FIFOQueueEnumerator,
sun.misc.LIFOQueueEnumerator;
// content handlers
include sun.net.www.content.audio.**,
sun.net.www.content.image.**;
}
/**************************************************************************/
module jkernel {
include sun.jkernel.*;
}
module deploy {
include jkernel;
// For now, all plugin and JNLP
include com.sun.java.browser.**,
netscape.**,
sun.plugin.**,
sun.plugin2.**,,
com.sun.deploy.**,
com.sun.javaws.**,
javax.jnlp.*,
com.sun.jnlp.*;
// Hook for http authentication
include sun.net.www.protocol.http.AuthCacheBridge;
}
/**************************************************************************/
module net-dns {
include sun.net.dns.**; // to access DNS config.
include sun.net.spi.nameservice.dns.**; // for DNS-only name service.
}
module net-compat {
// NTLM authentication support
include sun.net.www.protocol.http.ntlm.*;
// ftp and mail clients
include sun.net.ftp.**, sun.net.smtp.**;
// Legacy protocol handlers
include sun.net.www.protocol.**;
// Legacy content handlers
include sun.net.www.content.**;
include sun.net.Telnet*,
sun.net.TransferProtocolClient;
}
/**************************************************************************/
// jar-tool and security-tools are JRE tools
module jar-tool {
include sun.tools.jar.**;
}
module security-tools {
include sun.security.tools.**;
// Used by security tools
include sun.security.util.PathList, sun.security.x509.CertAndKeyGen;
exclude sun.security.tools.JarBASE64Encoder,
sun.security.tools.JarSigner,
sun.security.tools.JarSignerParameters,
sun.security.tools.JarSignerResources*,
sun.security.tools.SignatureFile,
sun.security.tools.TimestampedSigner;
}
module jconsole {
include sun.tools.jconsole.**,
com.sun.tools.jconsole.*;
}
module serialver {
include sun.tools.serialver.**;
}
module gui-tools {
include jconsole,
serialver;
include com.sun.tools.example.debug.bdi.**,
com.sun.tools.example.debug.gui.**,
com.sun.tools.internal.xjc.**;
}
module attach {
include com.sun.tools.attach.**,
sun.tools.attach.**;
}
module debugging {
include com.sun.jdi.**, com.sun.tools.jdi.**;
}
module jdb {
include com.sun.tools.example.debug.**;
}
module sajdi {
include sun.jvm.hotspot.**,
com.sun.java.swing.ui.**,
com.sun.java.swing.action.**;
include toolbarButtonGraphics/**;
include sa.properties;
}
module tools {
include attach,
debugging,
jaxws-tools,
jdb,
rmic,
sajdi;
// include gui-tools in tools module unless the tool binaries
// are modified to load the new gui-tools.jar
include gui-tools;
include com.sun.tools.**, sun.tools.**, sun.security.tools.**,
com.sun.jarsigner.**,
com.sun.javac.**,
com.sun.javadoc.**, com.sun.source.**,
sun.jvmstat.**;
}
/**************************************************************************/
module servicetag {
include com.sun.servicetag.**;
}
/**************************************************************************/
// these classes will be removed from JRE - see 6909002
module inputmethods-ext {
include com.sun.inputmethods.internal.**;
}
/**************************************************************************/
// Workaround for US export and local policy files
// They are currently in signed jars under the jre/lib/security directory
module US_export_policy {
include default_US_export.policy;
}
module local_policy {
include default_local.policy,
exempt_local.policy;
}
/**************************************************************************/
module other {
include **;
}