RFR: JDK-8026773: Failing compilation in Corba does not fail the build
Tim Bell
tim.bell at oracle.com
Wed Feb 5 06:29:29 UTC 2014
Hi Erik:
> On 2014-01-22 16:21, Magnus Ihse Bursie wrote:
>> It looks not only good, but excellent! Thank you for fixing this!
>>
>> There is one old minor bug that I noticed. Now might be a good time
>> to fix it, if you want. In GensrcLangtools.gmk, line 89, tries to
>> count processed properties, and adds the specially treated files by
>> adding "v1 v2 v"3. It was not obvious what this was. I believe once
>> there were three special files, now there are five. Replacing "v1 v2
>> v3" with "javac javah ..." will make that clearer, and the count
>> correct.
> While not directly related to this patch, I fixed it anyway. Here is
> the final version:
>
> http://cr.openjdk.java.net/~erikj/8026773/webrev.03/
>
> Would be nice if a jdk9 reviewer could take a look at it too.
That's a lot of changes, but they look good to me.
Tim
> /Erik
>
>>
>>
>> /Magnus
>>
>>> On 22 jan 2014, at 15:37, Erik Joelsson <erik.joelsson at oracle.com>
>>> wrote:
>>>
>>> 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