RFR 8170162: jshell tool: no mechanism to programmatically launch
Robert Field
robert.field at oracle.com
Thu Dec 15 07:31:51 UTC 2016
Feedback on v2 was that the features it had for supporting
javax.tools.Tool shouldn't be there without that support in-place.
So, v3. I'm including that support (8170044).
Bugs:
8170044: jshell tool: jshell missing from javax.tools.ToolProvider
https://bugs.openjdk.java.net/browse/JDK-8170044
8170162: jshell tool: no mechanism to programmatically launch
https://bugs.openjdk.java.net/browse/JDK-8170162
Sub-Tasks (tiny tweaks to other repos):
8170194: jshell tool (jdk repo): launch tool from JShellToolProvider
https://bugs.openjdk.java.net/browse/JDK-8170194
8170195: jshell tool (make): update javadoc generation for jdk.jshell
https://bugs.openjdk.java.net/browse/JDK-8170195
API:
http://cr.openjdk.java.net/~rfield/8170162v3.jshellAPI/
Webrev:
http://cr.openjdk.java.net/~rfield/8170162v3.webrev/
Specdiff:
http://cr.openjdk.java.net/~rfield/8170162v3.specdiff/overview-summary.html
The changes to the root workspace (in support of javadoc make) are
unchanged since v1:
http://cr.openjdk.java.net/~rfield/8170195v1.webrev/make/Javadoc.gmk.sdiff.html
The change to the jdk workspace (in support of launching) is unchanged
from the original v0:
http://cr.openjdk.java.net/~rfield/8170194v0.webrev/make/launcher/Launcher-jdk.jshell.gmk.sdiff.html
Discussion --
Addition of javax.tools.Tool support is straight-forward:
http://cr.openjdk.java.net/~rfield/8170162v3.jshellAPI/jdk.jshell-summary.html
http://cr.openjdk.java.net/~rfield/8170162v3.webrev/src/jdk.jshell/share/classes/module-info.java.sdiff.html
http://cr.openjdk.java.net/~rfield/8170162v3.webrev/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellToolProvider.java.html
New test was most of the work:
http://cr.openjdk.java.net/~rfield/8170162v3.webrev/test/jdk/jshell/ToolProviderTest.java.html
http://cr.openjdk.java.net/~rfield/8170162v3.webrev/test/jdk/jshell/StartOptionTest.java.sdiff.html
Discussion from v2 (amended) --
The simplest of the options below was chosen -- builder() factory on
JavaShellToolBuilder. JavaShellToolProvider has been removed.
http://cr.openjdk.java.net/~rfield/8170162v3.jshellAPI/jdk/jshell/tool/package-summary.html
The uses/provides changes to module-info.java have been removed, leaving
the addition of "exports jdk.jshell.tool", and, to work with the
merged-in jigsaw, the java.prefs requires is now transitive.
.... now all jshell tool launching is channeled through the builder
(rather than entering via JShellTool).
Note: specdiff doesn't see the changes to overview.html (removal) and
module docs
Thanks,
Robert
More information about the kulla-dev
mailing list