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

Reply via email to