The future of partial builds

Alan Bateman Alan.Bateman at oracle.com
Mon Sep 10 12:13:17 UTC 2012


I think this is a great topic to discuss.

At least within Oracle then I think the majority of people do partial 
builds in their local environment. When I say "partial build" then I 
mean they build a subset of repositories, not all of them. So folks 
working in the jdk repository tend to just build that repository with 
everything else coming from whatever import JDK they are using. Partial 
builds are of course very fragile and frequently people have problems 
because they aren't using a matching import JDK. Also periodically we 
have flag days, say changes that impact langtools+jdk or hotspot+jdk and 
these usually cause a bit of disruption until the changes get into a 
promoted build and into the import JDK that people use.  As to why 
people do partial builds then it's probably a mix of issues including 
disk space, time to do the first build, and of course it's just the way 
that we've always done it.

Another thing is that I think most people (at least in Oracle) don't 
build images either, they run + debug with the build output in 
$OUTPUTDIR so no rt.jar, etc.

When you say "sub-directory builds" then I think you mean incremental 
builds, or "poor-man increment builds" as I call it. I think the 
majority of people working in the jdk repository, at least in Oracle, do 
this because they know the area and know which make files that re-build 
the files that they have changed. Incremental builds are generally not 
very reliable but seem to be "good enough" for most people needs, at 
least those that aren't doing significant refactoring. The main motive 
of course is to be able to re-build in a few seconds and the #1 goal of 
any new build system has to be fast incremental builds.

-Alan.



More information about the build-dev mailing list