Please rview simple clean up of the modules build for javac

Mandy Chung mandy.chung at oracle.com
Mon Apr 5 15:04:05 PDT 2010


Jonathan Gibbons wrote:
> 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
>

Thanks for catching it.  Deleted now.
> 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.
>
Ok.
> 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.

It contains the runtime support for the tools.   Any suggestion on the 
module name?

>
> 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.
>
In other words, such dependency is not desirable and should be 
eliminated by replacing the static reference to use JSR 269, right?

> 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?
>

The names of the jdk modules are yet to be finalized.   For the runtime 
modules (i.e. classes from rt.jar), their names are qualified names 
(currently they are prefixed by either "jdk." or "sun.").  The modules 
with unqualified module names are the non-runtime modules (such as 
javac, apt, and other jdk tools).   Is there a guideline or convention 
for the module names?

Mandy

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