On 2015-02-10 11:54, Erik Joelsson wrote:
Hello,
Please review this fix for the missing
META-INF/services/java.nio.file.spi.FileSystemProvider in jrt-fs.jar.
In JDK-8071550, I changed the logic of INCLUDES and EXCLUDES
parameters to SetupJavaCompilation to also affect META-INF files
consistently. Since then, jrt-fs.jar is no longer including the file
system provider. The fix is to explicitly copy that file. Due to how
the EXCLUDES and INCLUDES rules work in that macro, there was no easy
way of expressing inclusion of just that file. (When specifying both
INCLUDES and INCLUDE_FILES, only the intersection between the two is
included, not the union which one might expect.) I did contemplate
changing the rules, but decided this was not the time.
Bug: https://bugs.openjdk.java.net/browse/JDK-8072834
Webrev: http://cr.openjdk.java.net/~erikj/8072834/webrev.jdk.01/
Looks good to me.
But, as I have expressed to you privately, we should really redesign the
include/exclude interface. I'd like to see the logic for file selection
(search dirs, include/exclude patterns, additional files) to be
separated out of the individual SetupFoo macros, and into a separate
helper function. We can then make sure that maximum power of expression
and correctness is applied to all macros, and we'd get identical syntax.
But as you say, this is probably not the time.
/Magnus