Hello,
Based on the feedback I've received so far, I've uploaded an updated
version of the patch:
http://cr.openjdk.java.net/~jlahoda/8080679/webrev.01/full/
Notable changes:
-avoided the dependency on java.desktop and java.datatransfer
-adjusted the native library build script as per Erik's recommendations
-the module name is now changed to jdk.internal.le
Any comments are welcome!
Thanks,
Jan
On 18.6.2015 16:25, Jan Lahoda wrote:
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