RFR 8170162: jshell tool: no mechanism to programmatically launch

Jonathan Gibbons jonathan.gibbons at oracle.com
Fri Dec 16 19:50:04 UTC 2016


The v3 support for launching the tool looks OK.  The name 
JShellToolProvider is a bit clunky, but it's an internal class (i.e. a 
class in an internal package) and you're running out of names, so it's 
OK, I guess.

-- Jon

On 12/14/2016 11:31 PM, Robert Field wrote:
> 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