RFR: 8035063: Option handling in sjavac needs to be rewritten

Andreas Lundblad andreas.lundblad at oracle.com
Wed Mar 19 08:49:40 UTC 2014

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:

-- Andreas

More information about the compiler-dev mailing list