On 5/21/15 12:05 AM, Erik Joelsson wrote:
On 2015-05-20 22:39, Alan Bateman wrote:
On 20/05/2015 21:12, Roger Riggs wrote:
Ioi,
You can rebuild just the contents of a single module:
% make java.base java.base-libs java.base-launchers
Yes, and this works great when you are using an exploded build. It's
possible that Ioi is looking for an images build of course. In
general then this needs sjavac as Joe brings up.
If you have a full image build, make a change to something in
java.base, you could do something like this to avoid unnecessary
rebuilds:
$ make java.base && make images-only
Thanks for the information.
I tried this on my machine (32-way Xeon E5-2665 0 @ 2.40GHz), but it
still takes one minute if I change a single file in java.base :-(
The making of java.base alone took about 30 seconds.
$ time sh -c 'make JOBS=29 java.base && make images-only'
Building target 'java.base' in configuration '/home/iklam/jdk/bld/'
Compiling 2759 files for java.base
Finished building target 'java.base' in configuration '/home/iklam/jdk/bld/'
Building target 'images-only' in configuration '/home/iklam/jdk/bld/'
Creating jdk server jimage
Creating jdk jimage
Creating jre jimage
duplicate resource
"META-INF/services/sun.management.spi.PlatformMBeanProvider", skipping
duplicate resource
"META-INF/services/sun.management.spi.PlatformMBeanProvider", skipping
duplicate resource
"META-INF/services/sun.management.spi.PlatformMBeanProvider", skipping
Unzipping jdk/src/closed/db/db-derby-10.10.2.0-bin.zip
duplicate resource "META-INF/services/com.sun.jdi.connect.Connector",
skipping
Unzipping jdk/src/closed/db/db-derby-10.10.2.0-bin.zip
Updating images/sec-bin.zip
## Starting verify-modules
Checking dependencies across JDK modules
Access verification succeeded.
## Finished verify-modules (build time 00:00:16)
Is there any way to make this faster?
I used to have a script that compiles the exact set of .java files that
I touched, and patch rt.jar. It would complete the build in a second or
so. I guess I could update the script to work with modules and jimage,
but would be happier if I didn't have to.
Thanks
- Ioi
Note that if you put the *-only target on the same make command line,
the results will be unpredictable as -only deactivates dependencies,
so images would start running before java.base was properly done.
A note on sjavac, I do believe it currently works (to some extent) in
jdk9.
/Erik