The previous RFR tried to solve both this simple problem and the larger rewrite of the options but seems to be stalled due to problems with the Windows build. Since it is very inconvenient to have a broken sjavac in jdk9/jdk9, perhaps someone within Oracle could take this simple patch (almost identical to Andrea's original patch) through a jprt spin, and if it works, apply it? Then sjavac starts working again, and we can continue to work on sjavac in our normal build env.
http://cr.openjdk.java.net/~ohrstrom/webrevs-8037085/ //Fredrik 2014-03-19 9:49 GMT+01:00 Andreas Lundblad <andreas.lundb...@oracle.com>: > Hi compiler-dev + build-dev, > > Please review the fix for JDK-8035063 and JDK-8037085 which involves > changes to sjavac (option handling) and dev/ + dev/jdk build files. > > > Description: > > - Sjavac relied on passing around the main arg array to whatever part of > the code that were potentially affected by command line options. The patch > restructures the code so that all option are validated and parsed up front. > > - A recent commit in the JDK repository exposed another sjavac bug caused > by having directory names that were not valid package identifiers. The > patch changes sjavac to handle directories instead of packages... > > - ...which required modifying a couple of .gmk so that arguments are > passed as directories (separated by "/") instead of packages (separated > with ".") > > - Finally the patch adds a couple of unit tests which cover the new code. > > > Link to webrevs: > http://cr.openjdk.java.net/~alundblad/8035063/ > - dev build (dev/make/common/JavaCompilation.gmk) > - jdk build (dev/jdk/make/CompileJavaClasses.gmk) > - langtools (the sjavac changes + tests) > > > Links to bug reports: > https://bugs.openjdk.java.net/browse/JDK-8035063 > https://bugs.openjdk.java.net/browse/JDK-8037085 > > -- Andreas >