RFR: JDK-8072834: jrt-fs.jar missing META-INF/services/java.nio.file.spi.FileSystemProvider

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Tue Feb 10 14:05:03 UTC 2015

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.


More information about the build-dev mailing list