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

Reply via email to