RFR: JDK-8080679: Include jline in JDK for Java and JavaScript REPLs
Jan Lahoda
jan.lahoda at oracle.com
Thu Jun 18 14:25:15 UTC 2015
Hello,
I am proposing to add JLine 2.12.1 into the jdk repository for use by
the Java and Nashorn REPLs. Full patch is available here:
http://cr.openjdk.java.net/~jlahoda/8080679/webrev.00/full/
To aid the review, I've split this patch into to smaller patches:
-a patch that only adds unmodified jline sources at appropriate places
in the jdk repository:
http://cr.openjdk.java.net/~jlahoda/8080679/webrev.00/clean-jline/
-a patch that shows the additional changes I've done:
http://cr.openjdk.java.net/~jlahoda/8080679/webrev.00/additional/
This split is intended solely to simplify reviewing, my plan is to
integrate this as a single patch.
The main additional changes are:
-plugging the new module, jdk.jline, into the JDK build. Currently, the
JLine packages are exported only to jdk.scripting.nashorn (the plan is
to also export them to the future jdk.jshell module). (The patch is not
adding the dependency from jdk.scripting.nashorn to jdk.jline, though -
I expect that to be added when needed.)
-the sources are re-packaged from package "jline" to "jdk.internal.jline"
-removing trailing whitespace, adding newlines at the end of the files,
encoding characters that are not ASCII
-avoiding the dependency on another library, jansi, by reimplementing
two elements that were used from the other library. These are mainly the
changes in WindowsTerminal and ConsoleReader.java. This also includes
the WindowsTerminal.cpp native library. The native part is heavily
inspired by:
http://cr.openjdk.java.net/~sherman/rl/src/java.base/windows/native/libjava/Console_md.c.html
As I am not experienced in native programming, comments to the native
part would be particularly useful.
-changes to resolve javac warnings in JLine.
-tests for some of the added functionality.
Any comments are welcome!
Thanks,
Jan
More information about the core-libs-dev
mailing list