Status on OpenJDK Build Infrastructure Project

Kelly O'Hair kelly.ohair at oracle.com
Thu Dec 20 10:29:58 PST 2012


On Dec 20, 2012, at 12:48 AM, Alan Bateman wrote:

> On 19/12/2012 19:30, Kelly O'Hair wrote:
>> :
>> 
>> 
>> We have some remaining internal work for the Oracle JDK, and we are extremely close to being done.
>> As soon as we can demonstrate full and complete builds, in comparison to the old builds, we will
>> proceed to change the default "make" from the top of the forest from the old makefiles to the new build-infra
>> makefiles. So unless some disaster strikes, expect the cutover to start several weeks before jdk8 M6
>> (See http://openjdk.java.net/projects/jdk8/)
>> 
>> The cutover change will show up in the jdk8/build forest first, then hopefully get integrated into the master
>> jdk8/jdk8 forest within a week. It's unknown how quickly these changes will get pulled down into the
>> other team forests, it depends on who controls those team areas.
>> 
> Kelly - as you probably know, most people working on the jdk repository then just do partial builds and then "incremental" builds after that (incremental builds meaning "make -C foo/bar/" or whatever to just run the make file for the area that they have changed). It's not completely reliable of course but it's how many people work as it gets them runnable bits within a couple of seconds, not minutes. I'm happy to see partial builds go away but I'm very concerned about the incremental build performance. With the new build then it typically re-compiles several thousand classes each time and this can take several minutes on not-the-latest machines (to be honest, it's a productivity killer). The solution coming for the new build is sjavac and that gets us into the right ballpark to be productive again. So I'd like to understand the plan for sjavac as I didn't see it in your mail. Will that be enabled soon after the cut-over, should we just use it anyway?
> 
> -Alan.

sjavac is not and has not been a hard requirement for the build-infra cutover,  sjavac status questions should be sent to
to the langtools group. The use of sjavac is a configuration option, defaulted to off right now.
Once it is working well, we are prepared to change our default configuration to use it, but we have to limit the complications
here before the cutover, and sjavac is a complication.
Developers can configure to use sjavac on their own, so we are not preventing it's use.

This cutover is being done around RE's needs, and we are purposely not addressing all the developer issues before
the cutover. I know this is not ideal, but the pressure to get this in and made the default is tremendous.
We are the key log in a logjam of projects coming into M6.

I apologize in advance to the existing developers doing partial builds, and I know how this will complicate their lives,
at least for a short time.
Certainly, for a short period of time, the old makefiles still exist, so we have time after M6 to work some of these issues out.

I'm fully expecting horrible poems to be written about me on the walls of the bathroom stalls after this. :^(

-kto




More information about the build-infra-dev mailing list