please review 7122061: enable -Werror in various jdk build steps

Stuart Marks stuart.marks at oracle.com
Fri Dec 23 02:53:31 UTC 2011



On 12/22/11 3:52 AM, Alan Bateman wrote:
> Just on terminology, when I use the term "partial" build then I meant building
> a subset of the repositories with an import JDK providing the per-built bits
> from the other repositories. I think this is what most folks working in the jdk
> repository do, at least in Oracle. Incremental builds are where folks go into
> specific directories and run the make file so that it re-builds just the
> changed sources for that area. It's far from perfect, requires local knowledge,
> at least one amulet, but critical to productivity when working in the jdk
> repository.

Aha! I don't have such an amulet. I'll keep my eyes open for one. I clearly 
need one, having failed my saving roll against GNUmake. :-)

Thanks for the terminology clarification. I tend to do partial builds of just 
the jdk repo, even for small changes. I haven't done incremental builds, and I 
can see how it would require a lot of local knowledge to deal with.

I can also see how an incremental build could cause warnings to be turned into 
errors unexpectedly.

Suppose there are build steps that build packages A and B, where B depends on 
A, and where A has lint warnings, and B is warning-free and has -Werror. A jdk 
build called from jdk/make will build A, then B, and will work. But if a 
developer were to change something in A and then do an incremental build within 
B, stuff in A might get implicitly compiled, resulting in a warning in A 
breaking the build from within B.

Well, if doing incremental builds like this requires a lot of local knowledge, 
then perhaps "make JAVAC_WARNINGS_FATAL=" should be an acceptable workaround.

> Anyway, I think you've been digging in the right place. Warnings were fixed and
> builds completed successfully but then later we found cases where areas hadn't
> been completely cleared of mines. This is not a criticism of Sasha's great
> work, it's just that they slipped through because classes were compiled
> implicitly by something earlier in the build. This is just one reason to look
> forward to the new build.
>
> As to moving this forward. If you are happy that these areas are completely
> warning free then I think we are happy and you should push the changes.

OK, thanks. I need to revise the webrev anyway, since I've discovered some new 
warnings in the closed repos, and also I missed a couple warnings where there 
was only a single warning in the build step. [I had searched for "warnings" in 
the build log, but if there's one warning, javac says "1 warning". :-( ] Since 
everybody is probably taking off for the long weekend, I'll pick this up again 
next week.

s'marks




More information about the build-dev mailing list