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

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


I took a pass through langtools changes. Overall seems OK to me. Some 
minor comments:
-src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java: 
commented-out code in hasArg(). (Some more in Option.ArgKind, but that 
seems mostly OK.)
-src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc.properties: 
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/TestStdDoclet.java (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.

Jan

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