From mandy.chung at oracle.com Tue Sep 7 12:35:18 2010 From: mandy.chung at oracle.com (Mandy Chung) Date: Tue, 07 Sep 2010 12:35:18 -0700 Subject: Regrouping of jdk modules Message-ID: <4C8693F6.60304@oracle.com> There are 40+ tools in the JDK, each of which needs to be a different module since a module only allows a single entry point in the current implementation. I implemented a workaround in the launcher and add a special entry point in sun.launcher.LauncherHelper just for jdk tools to use so that multiple tools can be grouped in the same module. With this launcher change along with some other regrouping of the jdk modules, there are now 56 jdk modules. The list is at: http://cr.openjdk.java.net/~mchung/jigsaw/jdk-modules-list.txt Webrev: http://cr.openjdk.java.net/~mchung/jigsaw/jdk-modules/ Alan, Can you review this set of changes? Summary of the jdk modules: 1. corba tools (orbd, tnameserv, servertools, and idlj) are included in the corba module. idlj is a development tool and we may need to separate it from the corba runtime module. 2. rmid and rmiregistry are included in the rmi module as they are runtime tools. 3. kinit, klist, ktab are kerberos-related tools and included in the kerberos module 4. langtools has 7 modules (javac, apt, mirror, compiler, javadoc, javah and javap). 5. JRE tools will be in jdk.tools.jre and all other tools are grouped in jdk.tools.base, , jdk.tools.jaxws and jdk.tools. 6. Move the JMX RMI-IIOP connector and the JNDI cosnaming provider to corba module since they depend on corba to be present anyway. 7. Include prefs in the desktop module 8. com.sun.security.auth.callback.Dialog is grouped with the desktop module. 9. Group snmp in the management module 10. Merge all jaxp related modules into one single module 11. Include the JNDI providers (except cosnaming provider) in the jndi module. 12. Merge JAAS and SASL into the jaas module 13. A new jdk.ext module to include com.sun.* APIs (httpserver, sctp) when appropriate. Mandy From Alan.Bateman at oracle.com Fri Sep 10 04:02:20 2010 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Fri, 10 Sep 2010 12:02:20 +0100 Subject: Regrouping of jdk modules In-Reply-To: <4C8693F6.60304@oracle.com> References: <4C8693F6.60304@oracle.com> Message-ID: <4C8A103C.6060802@oracle.com> Mandy Chung wrote: > > > There are 40+ tools in the JDK, each of which needs to be a different > module since a module only allows a single entry point in the current > implementation. I implemented a workaround in the launcher and add > a special entry point in sun.launcher.LauncherHelper just for jdk tools > to use so that multiple tools can be grouped in the same module. > With this launcher change along with some other regrouping of the jdk > modules, there are now 56 jdk modules. The list is at: > http://cr.openjdk.java.net/~mchung/jigsaw/jdk-modules-list.txt > > Webrev: > http://cr.openjdk.java.net/~mchung/jigsaw/jdk-modules/ > > Alan, > Can you review this set of changes? > > Summary of the jdk modules: > 1. corba tools (orbd, tnameserv, servertools, and idlj) are included in > the corba module. idlj is a development tool and we may need to > separate it from the corba runtime module. > > 2. rmid and rmiregistry are included in the rmi module as they are > runtime tools. > > 3. kinit, klist, ktab are kerberos-related tools and included in the > kerberos module > > 4. langtools has 7 modules (javac, apt, mirror, compiler, javadoc, > javah and javap). > > 5. JRE tools will be in jdk.tools.jre and all other tools are grouped in > jdk.tools.base, , jdk.tools.jaxws and jdk.tools. > > 6. Move the JMX RMI-IIOP connector and the JNDI cosnaming provider > to corba module since they depend on corba to be present anyway. > > 7. Include prefs in the desktop module > > 8. com.sun.security.auth.callback.Dialog is grouped with the desktop > module. > > 9. Group snmp in the management module > > 10. Merge all jaxp related modules into one single module > > 11. Include the JNDI providers (except cosnaming provider) in the > jndi module. > > 12. Merge JAAS and SASL into the jaas module > > 13. A new jdk.ext module to include com.sun.* APIs (httpserver, sctp) > when appropriate. > > Mandy > Sorry for the delay in reviewing this. Most of this looks reasonable to me, although the tool entry points will need to be re-visited once there is support for multiple entry points. Should jdk.smartcardio be in the new jdk.ext module? Also, I wonder if jdk/sun.security.acl should be moved into a jdk/sun.compat module also with what we have now in sun.legacy? In the list for the endorsed standards override mechanism you have included jdk.jndi but I don't think JNDI is one of them. SAAJ is, but I'm not sure if you need to separate that out from the jaxws module. A few comments on the other updates: In java.c SetLauncherModule, is the _module_name check needed now? Main nit in LauncherHelper but the @param tag doesn't need the "-" to separate the parameter name from its description. I assume the updates to ProblemList.txt aren't supposed to be included. That's it. -Alan. From mandy.chung at oracle.com Fri Sep 10 08:06:57 2010 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 10 Sep 2010 08:06:57 -0700 Subject: Regrouping of jdk modules In-Reply-To: <4C8A103C.6060802@oracle.com> References: <4C8693F6.60304@oracle.com> <4C8A103C.6060802@oracle.com> Message-ID: <4C8A4991.5060407@oracle.com> On 9/10/10 4:02 AM, Alan Bateman wrote: > > Sorry for the delay in reviewing this. Most of this looks reasonable > to me, although the tool entry points will need to be re-visited once > there is support for multiple entry points. > Alan, thanks for the review. > Should jdk.smartcardio be in the new jdk.ext module? Also, I wonder > if jdk/sun.security.acl should be moved into a jdk/sun.compat module > also with what we have now in sun.legacy? > jdk.ext needs a better name. It is a module for com.sun.* APIs (Oracle-extension to the platform). It's not intended to cover modules used to install in the extensions directory. JMX snmp adaptor (in sun.management module) depends on sun.security.acl. We want to avoid having the core jdk modules to depend sun.legacy. Another option is to keep JMX snmp as a standalone module. I'll explore this in my next of modules change. > In the list for the endorsed standards override mechanism you have > included jdk.jndi but I don't think JNDI is one of them. SAAJ is, but > I'm not sure if you need to separate that out from the jaxws module. > It's mistake moving jndi to that section. For SAAJ, we can separate it out when it's determined the need for it. > A few comments on the other updates: > > In java.c SetLauncherModule, is the _module_name check needed now? > Right. It's not needed now. I'll remove the check. > Main nit in LauncherHelper but the @param tag doesn't need the "-" to > separate the parameter name from its description. > I'll clean up the nits. > I assume the updates to ProblemList.txt aren't supposed to be included. > I will make sure this is not in the changeset. FYI. It's a new problem list for testing module-image (ModuleProblemList.txt). > That's it. > Thanks Mandy From mandy.chung at oracle.com Fri Sep 10 11:06:06 2010 From: mandy.chung at oracle.com (mandy.chung at oracle.com) Date: Fri, 10 Sep 2010 18:06:06 +0000 Subject: hg: jigsaw/jigsaw/jdk: Regrouping of jdk modules Message-ID: <20100910180638.A17CB478A8@hg.openjdk.java.net> Changeset: 01d6b2c9d36d Author: mchung Date: 2010-09-10 11:02 -0700 URL: http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/rev/01d6b2c9d36d Regrouping of jdk modules Reviewed-by: alanb ! make/common/Defs-modules.gmk ! make/common/Defs.gmk ! make/common/Program.gmk ! make/common/internal/Defs-corba.gmk ! make/common/internal/Defs-jaxp.gmk ! make/common/internal/Defs-jaxws.gmk ! make/launchers/Makefile ! make/modules/jdk7.depconfig ! make/modules/modules.config ! make/modules/modules.group ! make/sun/rmi/registry/Makefile ! make/sun/rmi/rmid/Makefile ! make/sun/security/krb5/Makefile ! make/tools/classanalyzer/nbproject/project.properties ! make/tools/classanalyzer/src/com/sun/classanalyzer/ClassAnalyzer.java ! make/tools/classanalyzer/src/com/sun/classanalyzer/Platform.java ! src/share/bin/defines.h ! src/share/bin/java.c ! src/share/bin/java.h ! src/share/bin/main.c ! src/share/classes/sun/launcher/LauncherHelper.java From david.lloyd at redhat.com Fri Sep 10 11:09:25 2010 From: david.lloyd at redhat.com (David M. Lloyd) Date: Fri, 10 Sep 2010 13:09:25 -0500 Subject: hg: jigsaw/jigsaw/jdk: Regrouping of jdk modules In-Reply-To: <20100910180638.A17CB478A8@hg.openjdk.java.net> References: <20100910180638.A17CB478A8@hg.openjdk.java.net> Message-ID: <4C8A7455.7050500@redhat.com> Is there a single document which lists what packages are in what modules? I saw http://cr.openjdk.java.net/~mchung/jigsaw/jdk-modules-list.txt however that only lists the module names. On 09/10/2010 01:06 PM, mandy.chung at oracle.com wrote: > Changeset: 01d6b2c9d36d > Author: mchung > Date: 2010-09-10 11:02 -0700 > URL: http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/rev/01d6b2c9d36d > > Regrouping of jdk modules > Reviewed-by: alanb > > ! make/common/Defs-modules.gmk > ! make/common/Defs.gmk > ! make/common/Program.gmk > ! make/common/internal/Defs-corba.gmk > ! make/common/internal/Defs-jaxp.gmk > ! make/common/internal/Defs-jaxws.gmk > ! make/launchers/Makefile > ! make/modules/jdk7.depconfig > ! make/modules/modules.config > ! make/modules/modules.group > ! make/sun/rmi/registry/Makefile > ! make/sun/rmi/rmid/Makefile > ! make/sun/security/krb5/Makefile > ! make/tools/classanalyzer/nbproject/project.properties > ! make/tools/classanalyzer/src/com/sun/classanalyzer/ClassAnalyzer.java > ! make/tools/classanalyzer/src/com/sun/classanalyzer/Platform.java > ! src/share/bin/defines.h > ! src/share/bin/java.c > ! src/share/bin/java.h > ! src/share/bin/main.c > ! src/share/classes/sun/launcher/LauncherHelper.java > -- - DML ? From mandy.chung at oracle.com Fri Sep 10 12:26:16 2010 From: mandy.chung at oracle.com (Mandy Chung) Date: Fri, 10 Sep 2010 12:26:16 -0700 Subject: hg: jigsaw/jigsaw/jdk: Regrouping of jdk modules In-Reply-To: <4C8A7455.7050500@redhat.com> References: <20100910180638.A17CB478A8@hg.openjdk.java.net> <4C8A7455.7050500@redhat.com> Message-ID: <4C8A8658.3080100@oracle.com> On 9/10/10 11:09 AM, David M. Lloyd wrote: > Is there a single document which lists what packages are in what modules? There is one file per module listing the packages. They are generated in the jdk modules build (at $outputdir/moduleinfo/classlist). I uploaded the generated reports build from this changeset at: http://cr.openjdk.java.net/~mchung/jigsaw/jdk-modules/classlist/ These reports are generated by the class analyzer tool: *.summary lists the packages *.classlist is the class list *.resources is the resource file list *.dependencies lists the cross-module dependencies Note that some jdk.* module reexports the packages from sun.* module and the *.summary file for those jdk.* modules would be empty. Mandy > I saw http://cr.openjdk.java.net/~mchung/jigsaw/jdk-modules-list.txt > however that only lists the module names. > > On 09/10/2010 01:06 PM, mandy.chung at oracle.com wrote: >> Changeset: 01d6b2c9d36d >> Author: mchung >> Date: 2010-09-10 11:02 -0700 >> URL: http://hg.openjdk.java.net/jigsaw/jigsaw/jdk/rev/01d6b2c9d36d >> >> Regrouping of jdk modules >> Reviewed-by: alanb >> >> ! make/common/Defs-modules.gmk >> ! make/common/Defs.gmk >> ! make/common/Program.gmk >> ! make/common/internal/Defs-corba.gmk >> ! make/common/internal/Defs-jaxp.gmk >> ! make/common/internal/Defs-jaxws.gmk >> ! make/launchers/Makefile >> ! make/modules/jdk7.depconfig >> ! make/modules/modules.config >> ! make/modules/modules.group >> ! make/sun/rmi/registry/Makefile >> ! make/sun/rmi/rmid/Makefile >> ! make/sun/security/krb5/Makefile >> ! make/tools/classanalyzer/nbproject/project.properties >> ! make/tools/classanalyzer/src/com/sun/classanalyzer/ClassAnalyzer.java >> ! make/tools/classanalyzer/src/com/sun/classanalyzer/Platform.java >> ! src/share/bin/defines.h >> ! src/share/bin/java.c >> ! src/share/bin/java.h >> ! src/share/bin/main.c >> ! src/share/classes/sun/launcher/LauncherHelper.java >> >