RFR: 8035063: Option handling in sjavac needs to be rewritten
joel.franck at oracle.com
Fri Mar 21 14:52:37 UTC 2014
On 2014-03-19, Andreas Lundblad wrote:
> 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.
> - 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:
> - dev build (dev/make/common/JavaCompilation.gmk)
> - jdk build (dev/jdk/make/CompileJavaClasses.gmk)
> - langtools (the sjavac changes + tests)
> Links to bug reports:
I think this looks good. In the future, if we need the ability to
exclude packages we can add it back (-xp or something like it), but we
currently don't need it.
More information about the compiler-dev