> Currently, to use the javac server, a horrendously long command line option > is created, looking like this: `--server:portfile=<path to > portfile>:sjavac=<command to launch server>`, where the sjavac command has > had all spaces replaced by %20. Since Project Jigsaw, the set of module > arguments needed is huge to begin with, making this command line > incomprehensible after mangling. > > Apart from making java command lines hard to read (and copy/paste!) by > developers, it also makes it hard for scripts to parse. The upcoming winenv > rewrite is dependent on being able to differentiate between path names and > other arguments, which is not possible in this mess. > > So, instead, let's write it to a file, without any escaping, and just pass > the configuration file name to the server. > > Note that this will change the behavior of the javac server, but as the > source code states this is not a documented or externally supported API no > CSR is needed. > > I also cleaned up some code in SjavacClient, in particular code relating to > the passing of arguments. (We never change poolsize or keepalive when we call > it.)
Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: Fix race where multiple compilations overwrite the config file ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/1195/files - new: https://git.openjdk.java.net/jdk/pull/1195/files/26e5efdd..0a613f55 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1195&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1195&range=00-01 Stats: 6 lines in 1 file changed: 2 ins; 3 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/1195.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1195/head:pull/1195 PR: https://git.openjdk.java.net/jdk/pull/1195