RFR: JDK-8026773: Failing compilation in Corba does not fail the build
Erik Joelsson
erik.joelsson at oracle.com
Wed Jan 22 14:37:56 UTC 2014
After discussing this with Magnus offline and some prototyping work for
the future of the jdk9 build, I changed my mind and would like to solve
this in a way more similar to how the jdk build is done today. (This
will eventually pave the road for a more fine grained dependency graph
of the whole build, cross repos.)
Luckily nobody reviewed the old version, but here is my new attempt:
http://cr.openjdk.java.net/~erikj/8026773/webrev.02/
Another consequence of these changes is that make -n should start working.
/Erik
On 2014-01-17 14:03, Erik Joelsson wrote:
> Here is a patch which has the primary purpose of eliminating a certain
> makefile construct that was introduced in build-infra and used in
> langtools and corba. The trick was clever, but unfortunately had the
> drawback of the build not always failing on errors, or giving very
> weird error messages. Here is the bug and the patch:
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8026773
> Webrev: http://cr.openjdk.java.net/~erikj/8026773/webrev.01/
>
> A bit of background is probably needed. The problem that needs to be
> solved is that when we use SetupJavaCompilation to compile java, all
> the source files must exist on disk when make starts parsing the
> makefile. Any non existing java files will not be discovered by the
> macro and will then not be compiled. So if there are java sources
> being generated by a rule in the same makefile, these will not be
> visible to SetupJavaCompilation.
>
> In the jdk repo this is solved by separating source generation and
> java compilation into different makefiles and make explicit calls to
> them in order. While this would work here to, I don't think we should
> enforce separation for implementation purposes when it doesn't really
> make sense from a logical grouping point of view. In the case of Corba
> and Langtools, I do not think this separation makes sense for code
> readability, so I chose to solve it with a recursive call back to the
> same makefile for specific parts of the file.
>
> While working in this area, I couldn't help but spend some time
> cleaning up. The Langtools and Corba repos were the first to be
> converted to build-infra, and didn't follow styles and conventions
> that were introduced later. I also cleaned up comments.
>
> /Erik
More information about the build-dev
mailing list