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

Jan Lahoda jan.lahoda at
Tue Aug 9 13:12:10 UTC 2016

I took a pass through langtools changes. Overall seems OK to me. Some 
minor comments:
commented-out code in hasArg(). (Some more in Option.ArgKind, but that 
seems mostly OK.)
the help is not listing --class-path, while it does list --source-path, 
and some other help texts list --class-path - is that intentional?
-test/jdk/javadoc/tool/6964914/ (and some other 
tests): the references to jdk.launcher.patch.* where there probably to 
support standalone testing; I note that standalone testing is probably 
not going to work anymore for these tests.


On 5.8.2016 22:11, Mandy Chung wrote:
> 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:
> 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]
> [2]
> [3]
> 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 compiler-dev mailing list