David,
I generally make the following request of "large" reviews :
One thing that would help a lot here is if the "important" files were at
the top rather
than buried due to lexical sorting by path name.
In particular files like build.gradle and so on .. people then get a
sense of what it is
about rather than first wading through the noise.
-phil.
On 11/2/2016 9:55 AM, David Hill wrote:
JBS: https://bugs.openjdk.java.net/browse/JDK-8161704
Webrev: http://cr.openjdk.java.net/~ddhill/8161704/
Kevin, Chien, Vadim,
There is a lot of change in this webrev, but there are a lot of common
patterns (or sets of changes)
./apps - the majority of the change is altering the NB project files
to use rt/build/compile.args and run.args via a relative path. This is
a replacement action for using jfxrt.jar (and something I will address
in a follow on email)
Also, a new pattern for apps that need --add-exports lines to run
properly (like Robot), we have added a file:
|| *apps/tests/HelloTest/addExports
*that will used as an @argfile with the run command. This allows
greater visibility into the added command than hiding them in the
project.properties files.
Under ./modules/ there is two classes of renames
/module-info/module-info.java --> / *java/module-info.java
* /test/java/com --> / *shims/java/com
*Module-info.java is needed by javac, and so moving into the "main"
set makes sense. It does mean however that IDEs may get upset because
this is JDK9 syntax.
The "shim" classes were mixed in with the general test classes. No
more. Now they are in the "shim" set to allow us to build them as part
of a rebuild of the main module classes to create a shim-ed module for
testing. It also means we don't have to play include/exclude games
when building.
Under packager, there is a different class of move/renames, creating
" *src/antplugin". *These sources are used to build a separate jar for
use with ant. We needed to move these out of the main set because the
would cause javac failure - but gained an additional benefit of a
clear separation of sources.
What is left is changes related to:
ripping out build/sdk
adding in a modular build
creating rt/build/*.args argfiles to ease development.
A big notes: we had to change the build target to 1.9
javac.source=1.9
javac.target=1.9
because in many of the places javac would baulk at using the JDK9
commands without it. It is expected that the current IDEs may not like
that.