I had overlooked the need to update the ct.sym creation tool to
recognize the new syntax in the profile spec file. That process also
uncovered a few bugs in the listing that needed correcting.
The javadoc generation of compact profile information is not quite
right, but that will be handled in a seperate bug.
Updated webrevs at:
http://cr.openjdk.java.net/~dholmes/8009428_8009429.v2/
---
http://cr.openjdk.java.net/~dholmes/8009428_8009429.v2/webrev.root/
No change from v1. Simply reverses the Nashorn change to $ processing.
---
http://cr.openjdk.java.net/~dholmes/8009428_8009429.v2/webrev.langtools/
Updated the logic to look for FULL_JRE instead of PROFILE_4. And as a
result of that needed to make the logic explicitly aware that there are
3 compact profiles plus the full JRE.
---
http://cr.openjdk.java.net/~dholmes/8009428_8009429.v2/webrev.jdk/
Changes from v1:
- I stopped trying to use a new wildcard syntax for included/excluded
types. The only options are *.class else a full type name with $
replaced by $$. (The wildcard support would need more extensive changes
to the ct.sym tool and for 4 classes it isn't worth it).
- Types explicitly excluded from one profile must be explicitly included
in a higher one (or the full JRE). (This happened to work by accident
because we were dealing with compact3 and a full JRE).
- The package sun/beans no longer exists
- Fixed up include packages to capture new types ie jdk instead of
jdk/internal so that we include the jdk.Supported annotation class
- Removed additional redundant sub-packages
Thanks for the follow up reviews. Erik's review stands as no further
changes made to the actual build logic.
David
-----
On 8/03/2013 9:28 PM, David Holmes wrote:
On 8/03/2013 7:19 PM, Alan Bateman wrote:
On 08/03/2013 01:48, David Holmes wrote:
Not sure which is best list for this given Alan will likely be the
only reviewer anyway :)
Webrevs under:
http://cr.openjdk.java.net/~dholmes/8009428_8009429/
As further background to others, the reverting of the $ substitution
became possible when Nashorn removed $ from its generated classes [1].
I've looked through the changes and they look really good to me. Putting
$< in single quotes to avoid shell expansion is the solution that I
could not find when adding the de-beaning recipes a few months ago. It's
great to see PROFILE_4 renamed to FULL_JRE and is also great to remove
the redundant sub-packages from the include lists. For
profiles-rtjar-includes then I think it makes it much more readable and
maintainable. Two minor inconsistencies: the sub-packages of
javax.naming are listed and com/sun/jndi/ has a trailing slash.
Fixed - well spotted!
One probable side effect of removing the redundant sub-packages will be
the javadoc. The one case to date where we didn't list sub-packages is
java.time (because there are still changes going on there) and that the
result is that the sub-packages of java.time don't show up in the
profiles view. I created 8008367 a few weeks for that and I suspect that
once these changes are pushed that the profiles view will be very
incomplete. I don't think this should be a reason to hold off your
changes as the profiles view isn't right now anyway. Hopefully Bhavesh
will get to this soon.
Now I'm a little concerned. I had not considered whether javac/javadoc
considered these to be complete lists. They have to know how to combine
the includes at a low-level with the excludes of a higher-level - and
potentially vice-versa.
I think Erik should review this too as it's important that the build
changes in jdk8/tl will merge easily with changes going into jdk8/build.
OK.
Thanks,
David
-Alan.
[1] http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/fe5211fc3114