view make/modules/modules.config @ 7371:efdcb1087bae

Update module definitions to align with resources changes in jdk8. Need all of sun.nio.cs in base module.
author alanb
date Thu, 09 May 2013 17:27:11 +0100
parents f7bd3640d08a
children
line wrap: on
line source

/*
 * Copyright (c) 2009, 2011, 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.
 */

/**************************************************************************
 * modules.config defines a list of fine-grained modules whose name
 * matches the value of the MODULE variable defined in the Makefiles.
 * These fine-grained modules may be merged as defined in modules.group
 * and they may not be the real modules created during the jdk build.
 *
 * This file also defines the modules for the jdk tools (one for each
 * tool named "jdk.<tool's name>").
 *
 * Note: Renaming a module name must make sure that the change is 
 * made in both this file, the MODULE variable in jdk makefiles,
 * and also make/common/Defs-modules.gmk.
 **************************************************************************/

// 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.ClassLoaderUtil,
            sun.misc.Compare,
            sun.misc.ConditionLock,
            sun.misc.CRC16,
            sun.misc.Lock,
            sun.misc.Regexp,
            sun.misc.Sort,
            sun.misc.Timeable,
            sun.misc.Timer,
            sun.misc.TimerThread,
            sun.misc.TimerTickThread,
            sun.misc.UCDecoder,
            sun.misc.UCEncoder,
            sun.misc.UUDecoder,
            sun.misc.UUEncoder,
            sun.net.NetworkServer,
            sun.net.URLCanonicalizer,
            sun.reflect.FieldInfo,
            sun.reflect.SignatureIterator,
            sun.reflect.generics.reflectiveObjects.NotImplementedException,
            sunw.io.Serializable,
            sunw.util.EventListener,
            sunw.util.EventObject;
    // ## keep SSLContext in the base to get one fewer split package
    // include com.sun.net.ssl.SSLContext;
}

// Deprecated classes that aren't referenced/used go here.
module deprecated {
    // add deprecated security classes once b78 is promoted
}

/**************************************************************************/

module base {
    // jigsaw module system
    include java.lang.module.**,
            org.openjdk.jigsaw.**;
    
    include org.openjdk.internal.**;

    // 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*;

    // invokedynamic
    include java.lang.invoke.**, sun.invoke.**;

    // lambda & ASM
    include java.util.function.**;
    include jdk.Supported;
    include jdk.internal.org.objectweb.asm.**;

    include java.io.*;

    include java.nio.**, com.sun.nio.file.*;
    include com.oracle.nio.**;
    include com.oracle.net.*;
    include com.oracle.util.*;

    // MAC
    include apple.security.*;
    include com.apple.concurrent.**;
    include com.apple.eio.**;

    include sun.nio.fs.*, sun.nio.ch.*, sun.nio.ByteBuffered;
    exclude META-INF/services/java.nio.file.spi.FileSystemProvider;

    // 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 sun.security.action.*,
            sun.security.ec.*,
            sun.security.jca.*,
            sun.security.pkcs.*,
            sun.security.pkcs12.*,
            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 - see JDK-7194075
    exclude sun.security.ec.ECD*,
            sun.security.ec.ECKeyPairGenerator,
            sun.security.ec.SunEC*,
            sun.security.util.HostnameChecker;

    // Kerberos not needed
    exclude javax.security.auth.kerberos.**,
            sun.security.jgss.**,
            sun.security.krb5.**,
            sun.security.ssl.Kerberos*,
            org.ietf.jgss.**;

    // mandatory charsets
    include sun.nio.cs.*;

    include sun.text.*,
            sun.text.bidi.*,
            sun.text.normalizer.*;

    // CLDR
    include sun.util.cldr.*,
            sun.util.resources.cldr.*,
            sun.util.resources.cldr.en.*,
            sun.text.resources.cldr.*,
            sun.text.resources.cldr.en.*;

    // resource files
    include sun/text/resources/*.icu;
    include sun/text/resources/CharacterBreakIteratorData,
            sun/text/resources/WordBreakIteratorData,
            sun/text/resources/LineBreakIteratorData,
            sun/text/resources/SentenceBreakIteratorData;

    include sun.util.*,
            sun.util.calendar.*,
            sun.util.locale.**,
            sun.util.logging.*,
            sun.util.spi.*,
            sun.util.resources.*,
            sun.util.resources.en.*;

    // US_en locale
    include sun.text.resources.*,
            sun.text.resources.en.*,
            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.AuthResources,
            sun.security.util.Resources;

    exclude sun.security.util.AuthResources_*,
            sun.security.util.Resources_*;

    include sun.reflect.**;

    // protocol handlers
    include sun.net.www.protocol.file.*,
            sun.net.www.protocol.jar.*,
            sun.net.www.protocol.http.*,
	    sun.net.www.protocol.module.*;

    include sun.net.*,
            sun.net.sdp.*,
            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.PerformanceLogger,
            sun.misc.Queue,
            sun.misc.QueueElement,
            sun.misc.Ref;
    // these classes are included in the client module
    exclude sun.misc.Cache*,
            sun.misc.Request,
            sun.misc.RequestProcessor;

    // include usage tracker 
    include sun.usagetracker.*;

    // On Windows, OSEnvironment dependency
    include sun.io.Win32ErrorMode;

    // unicode scripting support 
    include java/lang/uniName.dat;
}


module xmlparser {
    include jdk.internal.org.xml.**,
            jdk.internal.util.xml.**;
}

module time {
    include java.time.**;
}

/**************************************************************************/

module charsets {
    include sun.nio.cs.ext.**;
}

/**************************************************************************/

// For now, retains the current JRE extensions where localedata.jar in jre/lib/ext 
module localedata {
    include sun.util.resources.**,
            sun.text.resources.**;
}

module resources {
    include sun.text.resources.*,
            sun.util.resources.*,
            sun.security.util.AuthResources_*,
            sun.security.util.Resources_*,
            sun.misc.resources.*;
    include sun/text/resources/th/*;
}

/**************************************************************************/

/*
 * unpack200 is needed in the boot for native packaging support.
 */
module unpack200-tool {
    include java.util.jar.Pack200*;
    include com.sun.java.util.jar.pack.**;
}

/**************************************************************************/

module logging {
    include java.util.logging.*, sun.util.logging.**;

    // 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.**;
}

module jfr {
    include com.oracle.jrockit.**;
    include oracle.jrockit.**;
}

/**************************************************************************/

module servicetag {
    include com.sun.servicetag.**;
}

module tracing {
    // tracing
    include com.sun.tracing.**, sun.tracing.**;
}

module instrument {
    // java.lang.instrument
    include java.lang.instrument.*, sun.instrument.*;
}

module hprof {
    // HPROF support
    include com.sun.demo.jvmti.hprof.*;
}

module attach {
    include com.sun.tools.attach.**,
            sun.tools.attach.**;
}

module jdi {
    include com.sun.jdi.**, com.sun.tools.jdi.**;
    include META-INF/services/com.sun.tools.jdi.**;
}

module jdwp {
    // contains native library
}

module jvmstat {
    include sun.jvmstat.**;
}

// ## SA should be separated into sajdi.gui and sajdi 
// sun.jvm.hotspot.CommandProcessor references both
// gui and non-gui tools
module sajdi {
    // GUI tools
    include sun.jvm.hotspot.HSDB,
            sun.jvm.hotspot.tools.Tool,
            sun.jvm.hotspot.bugspot.**,
            sun.jvm.hotspot.ui.**,
            com.sun.java.swing.ui.**,
            com.sun.java.swing.action.**;
    include toolbarButtonGraphics/**;

    // non-GUI tools
    include sun.jvm.hotspot.**;
    include sa.properties;
}

/**************************************************************************/

module tools.rmic {
    include sun.rmi.rmic.**;
    include sun.tools.asm.*,
            sun.tools.java.*,
            sun.tools.javac.**,
            sun.tools.tree.*,
            sun.tools.util.*;
    class sun.rmi.rmic.Main;
}

module rmi {
    include java.rmi.**, sun.rmi.**, com.sun.rmi.**;

    // SSL factories are in rmi
    include javax.rmi.ssl.**;
}

/**************************************************************************/

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,
            sun.security.provider.certpath.ssl.**;
}

module security-sunpkcs11 {
    include sun.security.pkcs11.**;
}

module security-ucrypto {
    include com.oracle.security.ucrypto.**;
}

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.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-ntlm {
    include com.sun.security.ntlm.**;
    include com.sun.security.sasl.ntlm.**;

    // NTLM authentication support
    include sun.net.www.protocol.http.ntlm.*;
}

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.**;
}

// ## TODO: make sun.security.smartcardio.** to be module-private
// 
module security-smartcardio {
    include javax.smartcardio.**, sun.security.smartcardio.**;
}

module sun.auth.ldap {
    include com.sun.security.auth.LdapPrincipal;
    include com.sun.security.auth.module.LdapLoginModule;
}

module sun.auth.jndi {
    include com.sun.security.auth.module.JndiLoginModule;
}

module sun.auth.kerberos {
    include com.sun.security.auth.module.Krb5LoginModule;
}

module security-auth {
    include com.sun.security.auth.**;
}

// ## deprecated but public APIs
module security-acl {
    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 jta {
    include javax.transaction.**;  // JTA
}

// JDBC 4.1, JSR 221
module jdbc {
    include java.sql.**, javax.sql.*;
}

// JDBC Rowset interface, JSR 114
module jdbc-rowset {
    include javax.sql.rowset.**;
    include com.sun.rowset.**;
}


/**************************************************************************/

module scripting {
    include javax.script.**;

    // supporting classes for scripting engines
    include com.sun.script.util.**;

    // MAC
    include apple.applescript.*;
}

module scripting-rhino {
    include com.sun.script.javascript.**, sun.org.mozilla.**;
}

module nashorn {
    include jdk.nashorn.**,
            jdk.internal.dynalink.**,
            netscape.**;
    include jdk/nashorn/**;
    include META-INF/services/javax.script.ScriptEngineFactory;
}

/**************************************************************************/

module httpserver {
    include com.sun.net.httpserver.**, sun.net.httpserver.**;
}

/**************************************************************************/

module sctp {
    include com.sun.nio.sctp.**, sun.nio.ch.sctp.*;
}

module zipfs {
    include com.sun.nio.zipfs.*;
    include META-INF/services/java.nio.file.spi.FileSystemProvider;
}

/**************************************************************************/

module beans {
    include java.beans.**, com.sun.beans.**, sun.beans.**;
}

/**************************************************************************/

module jaxp-api {
    include javax.xml.**,
            org.w3c.dom.**,
            org.w3c.sax.**,
            org.xml.sax.**;

    // Not part of JAXP API; bundled with xalan
    exclude org.w3c.dom.xpath.*;

    exclude javax.xml.crypto.**,   // XML-DSIG
            javax.xml.bind.**,     // JAX-WS
            javax.xml.soap.**,
            javax.xml.ws.**;

    include sun.util.xml.*;
}

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 org.w3c.dom.xpath.*;

    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 tools.schemagen {
    class com.sun.tools.internal.jxc.SchemaGenerator;
}

module tools.xjc {
    class com.sun.tools.internal.xjc.Driver;
}


module tools.wsgen {
    class com.sun.tools.internal.ws.WsGen;
}

module tools.wsimport {
    class com.sun.tools.internal.ws.WsImport;
}

// Implementation for xjc, wsgen, wsimport, and schemagen tools
module jdk.tools.jaxws {
    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.xjc.**,
            com.sun.tools.internal.xjc.**,
            com.sun.tools.internal.ws.**,
            com.sun.tools.internal.jxc.**,
            org.relaxng.datatype.**;

    include tools.schemagen;
    include tools.xjc;
    include tools.wsgen;
    include tools.wsimport;

    view jdk.schemagen {
        class com.sun.tools.internal.jxc.SchemaGenerator;
    }
    
    view jdk.xjc {
        class com.sun.tools.internal.xjc.Driver;
    }
    
    
    view jdk.wsgen {
        class com.sun.tools.internal.ws.WsGen;
    }
    
    view jdk.wsimport {
        class com.sun.tools.internal.ws.WsImport;
    }

// Implementation for xjc, wsgen, wsimport, and schemagen tools
}

module jaxws {
    include javax.jws.**,
            javax.xml.bind.**,
            javax.xml.soap.**,
            javax.xml.ws.**,
            org.relaxng.**,
            com.oracle.webservices.**,
            com.oracle.xmlns.**,
            com.sun.istack.internal.*,
            com.sun.istack.internal.localization.*,
            com.sun.istack.internal.logging.**,
            com.sun.org.glassfish.**,
            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 common-annotations {
    include javax.annotation.*;    // Common annotations (JSR-250)
}

/**************************************************************************/

module tools.idlj {
    include com.sun.tools.corba.**;
    class com.sun.tools.corba.se.idl.toJavaPortable.Compile;
}

module corba {
    include javax.activity.**,
            javax.rmi.*,
            javax.rmi.CORBA.*,
            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.**;
    include sun.applet.**;
}

module awt {
    include java.awt.**,
            sun.awt.**,

            // MAC 
            sun.lwawt.**,
            com.apple.**,
            apple.laf.**,
            com.sun.awt.**;

    exclude com.apple.concurrent.**;
    exclude com.apple.eio.**;
}

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 accessbridge {
    include com.sun.java.accessibility.**;
}

module client {
    include awt,
            accessbridge,
            font,
            imageio,
            java2d,
            media,
            print,
            sound,
            swing;

    include javax.accessibility.*,
            sun.audio.**,
            com.sun.accessibility.**;

    // PerformanceLogger and dependencies
    include sun.misc.Ref, sun.misc.PerformanceLogger;

    // misc. dependencies that we need to examine
    include sun.misc.Queue*,
            sun.misc.FIFOQueueEnumerator,
            sun.misc.LIFOQueueEnumerator;

    // Legacy dead code but references sun.misc types
    include sun.misc.Cache*,
            sun.misc.Request,
            sun.misc.RequestProcessor;

    // content handlers
    include sun.net.www.content.audio.**,
            sun.net.www.content.image.**;
}

/**************************************************************************/

module deploy {
    // see JDK-8003847
    include apple.launcher.*;

    // 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 {

    // 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;
}

/**************************************************************************
 *            language tools                                              *
 **************************************************************************/

// standalone technology (JSR-199 & JSR-269)
module jdk.compiler {
    provides java.compiler;
    include javax.tools.**,
            javax.lang.model.**,
            javax.annotation.processing.**;
}

module tools.javac {
    include com.sun.tools.javac.**,
            com.sun.source.**;
    exclude com.sun.tools.javac.Launcher;
    include com.sun.tools.sjavac.**;
    class com.sun.tools.javac.Main;
}

module tools.javadoc {
    include com.sun.tools.doclint.**,
            com.sun.tools.doclets.**;
    include com.sun.tools.javadoc.**,
            com.sun.javadoc.**;
    class com.sun.tools.javadoc.Main;
}

module tools.javah {
    include com.sun.tools.javah.**;
    class com.sun.tools.javah.Main;
}

module tools.javap {
    include com.sun.tools.javap.**,
            com.sun.tools.classfile.**;
    class com.sun.tools.javap.Main;
}
module tools.jdeps {
    include com.sun.tools.jdeps.**;
    class com.sun.tools.jdeps.Main;
}

/**************************************************************************
 *            jdk tools                                                   *
 **************************************************************************/

module tools.jar {
    include sun.tools.jar.**;
    exclude sun.tools.jar.JarImageSource; // see 6915797
    class sun.tools.jar.Main;
}

module tools.policytool {
     include sun.security.tools.policytool.*;
     class sun.security.tools.policytool.PolicyTool;
}

module tools.jarsigner {
    include sun.security.tools.jarsigner.**;
    include com.sun.jarsigner.**;
    class sun.security.tools.jarsigner.Main;
}

module tools.keytool {
    include sun.security.pkcs10.*,
            sun.security.tools.*,
            sun.security.tools.keytool.**;

    class sun.security.tools.keytool.Main;
}

module tools.jconsole {
    include sun.tools.jconsole.**,
            com.sun.tools.jconsole.*;
    class sun.tools.jconsole.JConsole;
}

module tools.serialver {
    include sun.tools.serialver.**;
    class sun.tools.serialver.SerialVer;
}

module tools.jdb.gui {
    include com.sun.tools.example.debug.bdi.**,
            com.sun.tools.example.debug.gui.**;
}

module tools.jdb {
    include com.sun.tools.example.debug.**;
    class com.sun.tools.example.debug.tty.TTY;
}

module tools.jcmd {
    include sun.tools.jcmd.**;
    class sun.tools.jcmd.JCmd;
}

module tools.jps {
    include sun.tools.jps.**;
    class sun.tools.jps.Jps;
}

module tools.jstatd {
    include  sun.tools.jstatd.**;
    class sun.tools.jstatd.Jstatd;
}

module tools.jstat {
    include sun.tools.jstat.**;
    class sun.tools.jstat.Jstat;
}

module tools.jhat {
    include com.sun.tools.hat.**;
    class com.sun.tools.hat.Main;
}

module tools.jinfo {
    include sun.tools.jinfo.**;
    class sun.tools.jinfo.JInfo;
}
module tools.jmap {
    include sun.tools.jmap.**;
    class sun.tools.jmap.JMap;
}

module tools.jrunscript {
    include com.sun.tools.script.**;
    class com.sun.tools.script.shell.Main;
}

module tools.jstack {
     include sun.tools.jstack.**;
     class sun.tools.jstack.JStack;
}

module tools.extcheck {
    include com.sun.tools.extcheck.**;
    class com.sun.tools.extcheck.Main;
}

module tools.native2ascii {
    include sun.tools.native2ascii.**;
    class sun.tools.native2ascii.Main;
}

module tools.jsadebugd {
     class sun.jvm.hotspot.jdi.SADebugServer;
}

module tools.appletviewer {
    class sun.applet.Main;
}

module tools.kinit {
    class sun.security.krb5.internal.tools.Kinit;
}

module tools.klist {
    class sun.security.krb5.internal.tools.Klist;
}

module tools.ktab {
    class sun.security.krb5.internal.tools.Ktab;
}

module tools.rmiregistry {
    class sun.rmi.registry.RegistryImpl;
}

module tools.rmid {
    class sun.rmi.server.Activation;
}

module tools.orbd {
    class com.sun.corba.se.impl.activation.ORBD;
}

module tools.servertool {
    class com.sun.corba.se.impl.activation.ServerTool;
}

module tools.tnameserv {
    class com.sun.corba.se.impl.naming.cosnaming.TransientNameServer;
}

module tools.jmod {
    class org.openjdk.jigsaw.cli.Librarian;
}

module tools.jpkg {
    class org.openjdk.jigsaw.cli.Packager;
}

module tools.jrepo {
    class org.openjdk.jigsaw.cli.Repositor;
}

module tools.jsign {
    class org.openjdk.jigsaw.cli.Signer;
}

/*
 * This module is for the pack200 binary.
 * Can't include com.sun.java.util.jar.pack.Driver due to its
 * dependency with other runtime classes.
 *
 * Driver is made to be public in com.sun.java.util.jar.pack
 * as a workaround until we clean up the dependency.
 */
module tools.pack200 {
    class com.sun.java.util.jar.pack.Driver;
}

/**************************************************************************/

// 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 {
    // A hack to facilitate starting javac from NetBeans for debugging.
    // Not to include in any module
    include com.sun.tools.javac.Launcher;
    include **;
}