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