On 2013-06-19 03:10, Stuart Marks wrote:
--

I have half a mind to look at the Configure changes myself in my spare time (ha!), but I have no spare time, and I don't have the expertise in this area anyway. So anyone is welcome to pick this up. In principle it should be fairly simple, and I think it's fairly important. This isn't the first time someone's been bitten by having the wrong boot JDK version, and it won't be the last.

Currently, configure checks that the found boot jdk is 7 or 8. Do we really want to actively prevent using 8 all together? I could agree to printing a big warning in the summary at the end of configure to discourage it, but I do believe it necessary to have the ability to build with 8 for tracking down certain bugs.
Regarding the rearrangement of corba/jaxp/jaxws to use the fresh JDK instead of the boot JDK. At least we know they build, because the boot cycle build builds them successfully. (At least, I think it does.) Now, I don't think the artifacts produced from a boot cycle build are actually tested or are delivered anywhere in a bundle. So, while it seems quite unlikely, some bugs could have been introduced by building with a newer JDK version.

Now ... circular dependencies ... urk ... I *knew* there was something that would make this complicated. Well, maybe these will need to be refactored away somehow. Or maybe some kind of GenStubs technique can be used to deal with the circularity.

You introduced yet another point as well, which is the relationship between the repository organization and the build structure. As I understand things, each repository has its own build support and builds in a separate step from the others. In principle I think that the repository structure ought to be orthogonal to the build structure. At least, if we move to a more modular build structure, that shouldn't imply that we need to have each module in its own repository. In fact I'd like to see fewer repositories. To me, the only compelling reason to have a separate repo is if the source code in it is a snapshot of an upstream source base -- as seems to be the case for jaxws. Having all the stuff in fewer repos makes it easier to bisect to find failures, and it reduces the need for careful management of coordinated, cross-repo changes.
My preferred solution would be to fold in the repos that aren't upstream projects into jdk and just have them compile with the rest there. I much like the idea of reducing the number of repos. If that isn't possible, we can just add those source directories to the main javac invocation in jdk too.

/Erik

Reply via email to