Review request 8136930: Simplify use of module-system options by custom launchers

Mandy Chung mandy.chung at oracle.com
Fri Aug 5 20:11:28 UTC 2016


This patch renames the module-system options to GNU-style as specified
in JEP 293 [1] (see below for the new proposed option names).  This
addresses the problems discussed in [2] that the launcher will pass 
the module-system options down to the VM in the form of <option>=<value>.
This provides a consistent way to configure the module system and
simplify use of module-system options by custom launcher.  This patch
also updates several JDK tools including jlink, jmod, jimage, jar,
javac, javap, javadoc, javah, jdeps such that the GNU-style 
module-system options are consistent across all tools.

Webrev:
 http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8136930/gnu-options/webrev.00/
 http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8136930/gnu-options/webrev-langtools.00/

Harold has posted a separate code review for the hotspot change [3].
webrev.00 includes changes in all repos except hotspot.  webrev-langtools.00
includes the changes in langtools repo (this may be convenient for
those who wants to review langtools change only).

Note that existing -cp and -classpath have no change and continue to
be supported.  New long form option `--class-path` and `--help` are 
added to java, javac, and other tools where applicable.

For transition, all old options except -listmods continue to be 
supported by the java launcher, javac, javadoc, javap, javah.  
I propose to remove the old options in two weeks after this patch
is promoted (i.e. two promoted builds to go through the transition).

Mandy

[1] http://openjdk.java.net/jeps/293
[2] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-June/008079.html
[3] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2016-July/008715.html

Existing Options                    New Options

-addmods                            --add-modules
-classpath | -cp | --classpath      -classpath | -cp | --class-path
-limitmods                          --limit-modules
-listmods                           --list-modules
-m                                  --module | -m
-modulepath | -mp | --modulepath    --module-path | -p
-modulesourcepath                   --module-source-path
--plugin-module-path                (no change)
-processormodulepath                --processor-module-path
-upgrademodulepath                  --upgrade-module-path
-XaddExports                        --add-exports
-XaddReads                          --add-reads
-Xpatch                             --patch-module
-bootclasspath                      --boot-class-path | -bootclasspath
-processorpath                      --processor-path  | -processor-path
-sourcepath                         --source-path | -sourcepath
-system                             --system
-release                            --release


More information about the jigsaw-dev mailing list