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.joels...@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