JDK8 - bypassing the building of the images
Ioi Lam
ioi.lam at oracle.com
Fri Sep 13 05:18:16 UTC 2013
If you just change one or two files adding println, it might be much
faster to just "javac Foo.java"and patch rt.jar by hand.
I use a script like this. It just takes a few seconds:
-----------------------------------
ROOT=build/linux-x86_64-normal-server-fastdebug
JAVAC=${ROOT}/jdk/bin/javac
RT=${ROOT}/images/j2sdk-image/jre/lib/rt.jar
FILES="jdk/src/share/classes/java/lang/invoke/LambdaForm.java \
jdk/src/share/classes/java/lang/invoke/LambdaMetafactory.java"
echo ${FILES}
rm -rf tmpclasses
mkdir tmpclasses
${JAVAC} -g -d tmpclasses ${FILES} && jar uvf0 $RT -C tmpclasses .
-----------------------------------
If you want to be fancy you can change FILES= to this so all files you
just touched will be recompiled
FILES=`find jdk/src -name \*.java -a -newer ${RT}`
- Ioi
On 09/12/2013 10:51 AM, Pete Brunet wrote:
> I made some changes for debugging in jdk8. jdk ran for 9.5 min and
> images for a little over 13 min. I'm currently changing code in
> javax.swing, javax.accessibility, and java.beans. All those live in
> rt.jar so it would be nice to be able to copy a newly built rt.jar to an
> existing image without having to rebuild the images. However, I didn't
> find rt.jar in the jdk tree. Does it exist; maybe I just missed it?
>
> I know those are long build times but after trying lots of things I
> haven't had any success in getting to the low build times others
> experience. A new SSD should arrive today so hopefully that will be
> running by tomorrow. I'll report the results of that in another
> thread. So maybe I won't care about build times after that but I
> suspect there are others on the list also suffering from long build
> times who would be interested in the answer to the above question.
>
> Pete
More information about the build-dev
mailing list