Code Review for 8189102-helpMessage-jdk

Prepared by:goetz on Wed Nov 22 18:01:34 CET 2017
Workspace:
Compare against: http://hg.openjdk.java.net/jdk/jdk
Compare against version:47920
Summary of changes: 656 lines changed: 521 ins; 5 del; 130 mod; 30830 unchg
Changeset: 8189102-helpMessage-jdk.changeset
Author comments:

Incremental Changes of webrev 03 over 02:

Remove changes to non-english property files. Removed part of patch: help_in_property_files.patch

As Robert requested, I adapted jshell/StartOptionTest.java, as well as jps/TestJpsSanity.java and jstat/jstatHelp.sh.

Removed changes to usage message from kinit, klist and ktab. Removed part of patch: KinitKtabKlist_help_message.patch

Removed changes to corba tools: orbd, schemagen, wsgen, wsimport and xjc. Removed part of patch: corba_help_message.patch

Re-added -help to javac

This change normalizes the help flags of a row of the tools in the jdk.

The following changes have been implemented:

before changed
tool accepted documented added doc removed comment
jaotc --help --help -? -h
jar -h --help -h --help -?
jarsigner -? -h -help none --help Added printing existing documentation.
java -? -h --help -help -? -h --help -help -help still documented.
javac --help -help --help -help -? -help still documented. -h is already taken for native header output directory.
javadoc --help -help --help -help -? -h -help -help support removed
javah -? -h --help -? -h --help
javap -? --help -help -? --help -help -h -help
javaw -? -h --help -help -? -h --help -help
jcmd -h -help -h -? --help -help return code 1->0
jdb -help -help -? -h --help -help return code 1->0
jdeprscan -h --help -h --help -? return code 1->0
jdeps -? -h --help -help none Added printing existing documentation.
jimage -h --help -h --help -?
jinfo -h -help -h -help -? --help -help
jjs -h -help -h -help --help -help -help support removed, return code 100
jlink -h --help -h --help -?
jmap -h -help none -? --help Added documentation.
jmod -h --help -help -h --help -?
jps -help -help -? --help -help
jrunscript -? -help -? -help -h --help -help
jshell -h --help -help --help -?
jstack -h -help -h -help -? --help -help
jstat -? -help -help -h --help -help
jstatd none none -? -h --help Added help support altogether (exit with 0).
keytool -? -h --help -help none Added printing existing documentation.
pack200 -? -h --help -help -? -h --help return code 1->0
unpack200 -? -h --help -help -? -h --help return code 1->0

jjs has a rather restrictive option implementation that does not allow more than one short and one long option, and also not to change the return code easily.

javac and javadoc don't allow options that are accepted but not documented.

The change also adds a test that

  • checks that -?, -h, --help are supported and the tools exits with '0' after displaying the message.
  • checks that -?, -h, --help are documented.
  • If before -help was supported checks that -help is still accepted but the help message does not contiain -help.
  • The test knowns about return codes in case of invalid flags. This data is checked by starting the tool with an invalid flag.
  • If -help was not supported before, the test checks that the tools exits with the return code for invalid flags.

Some exceptions to above checks exist. E.g., some tools can not support all three of -?, -h, --help. Others just start given invalid flags.

The test will complain if a new tool is added that does not support -?, -h and --help.

All information about the tools is stored in a table, so that the test is easy to adapt to upcoming changes.

Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java

rev 47921 : 8189102: All tools should support -?, -h and --help
4 lines changed: 1 ins; 0 del; 3 mod; 725 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java

rev 47921 : 8189102: All tools should support -?, -h and --help
3 lines changed: 0 ins; 0 del; 3 mod; 131 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.base/share/classes/sun/security/tools/keytool/Main.java

rev 47921 : 8189102: All tools should support -?, -h and --help
7 lines changed: 4 ins; 0 del; 3 mod; 4662 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.base/share/classes/sun/security/tools/keytool/Resources.java

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 490 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.rmi/share/classes/sun/rmi/server/resources/rmid.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 128 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.scripting/share/classes/com/sun/tools/script/shell/Main.java

rev 47921 : 8189102: All tools should support -?, -h and --help
6 lines changed: 4 ins; 0 del; 2 mod; 587 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.scripting/share/classes/com/sun/tools/script/shell/messages.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
3 lines changed: 0 ins; 1 del; 2 mod; 63 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java

rev 47921 : 8189102: All tools should support -?, -h and --help
6 lines changed: 4 ins; 0 del; 2 mod; 270 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/Klist.java

rev 47921 : 8189102: All tools should support -?, -h and --help
9 lines changed: 6 ins; 2 del; 1 mod; 353 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/Ktab.java

rev 47921 : 8189102: All tools should support -?, -h and --help
8 lines changed: 6 ins; 0 del; 2 mod; 451 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Options.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 296 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 1326 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.compiler/share/classes/com/sun/tools/javah/resources/l10n.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
11 lines changed: 0 ins; 0 del; 11 mod; 167 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java

rev 47921 : 8189102: All tools should support -?, -h and --help
8 lines changed: 5 ins; 0 del; 3 mod; 2106 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java

rev 47921 : 8189102: All tools should support -?, -h and --help
3 lines changed: 2 ins; 0 del; 1 mod; 300 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jartool/share/classes/sun/tools/jar/GNUStyleOptions.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 371 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jartool/share/classes/sun/tools/jar/resources/jar.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 300 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 153 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOption.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 603 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jcmd/share/classes/sun/tools/jcmd/Arguments.java

rev 47921 : 8189102: All tools should support -?, -h and --help
7 lines changed: 4 ins; 0 del; 3 mod; 118 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 179 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jcmd/share/classes/sun/tools/jinfo/JInfo.java

rev 47921 : 8189102: All tools should support -?, -h and --help
7 lines changed: 4 ins; 0 del; 3 mod; 258 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java

rev 47921 : 8189102: All tools should support -?, -h and --help
8 lines changed: 6 ins; 0 del; 2 mod; 258 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jcmd/share/classes/sun/tools/jps/Arguments.java

rev 47921 : 8189102: All tools should support -?, -h and --help
7 lines changed: 4 ins; 0 del; 3 mod; 163 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jcmd/share/classes/sun/tools/jstack/JStack.java

rev 47921 : 8189102: All tools should support -?, -h and --help
7 lines changed: 4 ins; 0 del; 3 mod; 174 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jcmd/share/classes/sun/tools/jstat/Arguments.java

rev 47921 : 8189102: All tools should support -?, -h and --help
7 lines changed: 5 ins; 0 del; 2 mod; 444 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdeps/share/classes/com/sun/tools/javap/JavapTask.java

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 1122 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
3 lines changed: 0 ins; 0 del; 3 mod; 110 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/Main.java

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 1 ins; 0 del; 1 mod; 698 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
9 lines changed: 0 ins; 0 del; 9 mod; 117 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 1272 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
3 lines changed: 0 ins; 1 del; 2 mod; 223 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java

rev 47921 : 8189102: All tools should support -?, -h and --help
7 lines changed: 4 ins; 0 del; 3 mod; 1085 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTYResources.java

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 462 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 457 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
8 lines changed: 0 ins; 0 del; 8 mod; 93 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 843 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java

rev 47921 : 8189102: All tools should support -?, -h and --help
20 lines changed: 17 ins; 0 del; 3 mod; 746 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 144 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 1559 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 0 ins; 0 del; 2 mod; 111 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 3906 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 1051 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.jstatd/share/classes/sun/tools/jstatd/Jstatd.java

rev 47921 : 8189102: All tools should support -?, -h and --help
9 lines changed: 6 ins; 0 del; 3 mod; 161 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.pack/share/native/unpack200/main.cpp

rev 47921 : 8189102: All tools should support -?, -h and --help
3 lines changed: 0 ins; 0 del; 3 mod; 445 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/resources/Options.properties

rev 47921 : 8189102: All tools should support -?, -h and --help
3 lines changed: 0 ins; 0 del; 3 mod; 427 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/jdk/sun/tools/jcmd/TestJcmdDefaults.java

rev 47921 : 8189102: All tools should support -?, -h and --help
5 lines changed: 2 ins; 0 del; 3 mod; 105 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/jdk/sun/tools/jcmd/usage.out

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 14 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/jdk/sun/tools/jps/TestJpsSanity.java

rev 47921 : 8189102: All tools should support -?, -h and --help
5 lines changed: 3 ins; 0 del; 2 mod; 104 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/jdk/sun/tools/jps/usage.out

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 1 ins; 0 del; 1 mod; 4 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/jdk/sun/tools/jstat/jstatHelp.sh

rev 47921 : 8189102: All tools should support -?, -h and --help
14 lines changed: 10 ins; 0 del; 4 mod; 61 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/jdk/sun/tools/jstat/usage.out

rev 47921 : 8189102: All tools should support -?, -h and --help
2 lines changed: 1 ins; 0 del; 1 mod; 19 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/jdk/sun/tools/jstatd/TestJstatdUsage.java

rev 47921 : 8189102: All tools should support -?, -h and --help
5 lines changed: 2 ins; 1 del; 2 mod; 50 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New ----- Raw test/langtools/jdk/jshell/StartOptionTest.java

rev 47921 : 8189102: All tools should support -?, -h and --help
1 line changed: 0 ins; 0 del; 1 mod; 365 unchg

------ ------ ------ ------ ------ --- New ----- Raw test/jdk/tools/launcher/HelpFlagsTest.java

rev 47921 : 8189102: All tools should support -?, -h and --help
415 lines changed: 415 ins; 0 del; 0 mod; 0 unchg

This code review page was prepared using /usr/work/openjdk/bin/webrev.ksh (vers 25.12-hg+openjdk.java.net).