Please rview simple clean up of the modules build for javac

Jonathan Gibbons jonathan.gibbons at oracle.com
Mon Apr 5 14:40:09 PDT 2010


Mandy,

make/modules/Makefile

 185         $(HOST_JMOD_CMD) create -N -L $(JIGSAW_MODULE_LIB) ; \

Can this line be deleted -- the library should have been created by the 
prep-module-lib target

make/modules/modules.config
com.sun.tools.javac.Launcher should be ignored.   Please exclude it from 
the javac module and do not include it in any other module.

I find it somewhat non-intuitive that the various individual langtools 
tools (javac, javadoc, etc) depend on something called "jdk.langtools".  
To me, "jdk.langtools" sounds more like a module that provides all the 
individual tools.

I am not surprised to see a dependency on apt, although I did not 
previously know that such a dependency existed.

It is "disappointing" to see "new rmic" being based on javadoc API and 
not on JSR 269.

I am surprised to see so many unqualified module names. Do we not expect 
folk to use qualified module names, and should we not lead the way by 
prefixing module names with some suitable "j" word?

-- Jon


Mandy Chung wrote:
> Hi Jon,
>
> I made some minor fixes to the modules build per our discussion
> of the new javac change to interface with the jigsaw resolver.
>
> Webrev:
>  http://cr.openjdk.java.net/~mchung/jigsaw/misc-cleanup/
>
> 1. make/modules/tools/Makefile to use JAVAC_CMD instead of 
> HOST_JAVAC_CMD. 
> - JAVAC_CMD is the hybrid javac building jdk and we should
>  not need to use HOST_JAVAC_CMD.
>
> 2. make/modules/Makefile
>
> - refactor the system module library creation as a new target
> - when HOST_JAVAC_CMD is called to compile module-info.java,
>  the default system module library is already created
>
> 3. modules.config and modules.group change
>
> - this is a follow-up to the email thread about tools in 
>  modules.config [1]
> - javac, javap, javah, javadoc, and apt classes now live
>  in its own module (each tool is a single module).
>  Also, com.sun.tools.javac.Launcher class is moved to the
>  deprecated.tools module.
>
> Here are the dependencies among these langtools modules:
>
> apt -> javac
> apt -> jdk.langtools
> javac -> jdk.langtools
> javac -> jdk.logging
> javadoc -> javac
> javadoc -> jdk.langtools
> javadoc -> jdk.xml
> javah -> javac
> javah -> jdk.langtools
> javap -> javac
> javap -> jdk.langtools
>
> There is a dependency from JAXWS to apt:
>   jaxws.tools -> apt
>
> com.sun.tools.internal.ws.wscompile.WsgenTool -> 
> com.sun.tools.apt.Main (apt)
>
> Do you expect such dependency to apt?
>
> - rmi.tools module is merged with the rmic module.
>
>
> There exists a new rmic (sun.rmi.rmic.newrmic package) that
> depends on javac and javadoc.  The new rmic is launched from rmic 
> -Xnew option.
>
> rmic -> javac
> rmic -> javadoc
>
> For your reference, the dependencies are:
> sun.rmi.rmic.newrmic.BatchEnvironment    -> com.sun.javadoc.ClassDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.BatchEnvironment    -> com.sun.javadoc.RootDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.Generator           -> com.sun.javadoc.ClassDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.Main                -> com.sun.javadoc.ClassDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.Main                -> com.sun.javadoc.RootDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.Main                -> com.sun.tools.javac.Main 
> (javac)
> sun.rmi.rmic.newrmic.Main                -> com.sun.tools.javadoc.Main 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.JrmpGenerator  -> com.sun.javadoc.ClassDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.RemoteClass    -> com.sun.javadoc.ClassDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.RemoteClass    -> com.sun.javadoc.MethodDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.RemoteClass$ClassDocComparator -> 
> com.sun.javadoc.ClassDoc (javadoc)
> sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method -> 
> com.sun.javadoc.ClassDoc (javadoc)
> sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method -> 
> com.sun.javadoc.MethodDoc (javadoc)
> sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method -> 
> com.sun.javadoc.Parameter (javadoc)
> sun.rmi.rmic.newrmic.jrmp.RemoteClass$Method -> com.sun.javadoc.Type 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.StubSkeletonWriter -> 
> com.sun.javadoc.ClassDoc (javadoc)
> sun.rmi.rmic.newrmic.jrmp.StubSkeletonWriter -> 
> com.sun.javadoc.MethodDoc (javadoc)
> sun.rmi.rmic.newrmic.jrmp.StubSkeletonWriter -> com.sun.javadoc.Type 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.Util           -> com.sun.javadoc.ClassDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.Util           -> com.sun.javadoc.MethodDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.Util           -> com.sun.javadoc.PackageDoc 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.Util           -> com.sun.javadoc.Parameter 
> (javadoc)
> sun.rmi.rmic.newrmic.jrmp.Util           -> com.sun.javadoc.Type 
> (javadoc)
>
> Thanks
> Mandy
>
>
> [1] 
> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2010-March/000664.html
>
>




More information about the jigsaw-dev mailing list