8072834: jrt-fs.jar missing META-INF/services/java.nio.file.spi.FileSystemProvider
authorerikj
Wed, 11 Feb 2015 09:59:30 +0100
changeset 28866 7ce02228e8f2
parent 28865 4729ff15079b
child 28867 470553603264
8072834: jrt-fs.jar missing META-INF/services/java.nio.file.spi.FileSystemProvider Reviewed-by: ihse
jdk/make/Tools.gmk
--- a/jdk/make/Tools.gmk	Tue Feb 10 23:32:48 2015 +0000
+++ b/jdk/make/Tools.gmk	Wed Feb 11 09:59:30 2015 +0100
@@ -147,6 +147,15 @@
     EXCLUDES := jdk/internal/jimage/concurrent, \
     BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes))
 
+# Because of the explicit INCLUDES in the compilation setup above, the service provider
+# file will not be copied unless META-INF/services would also be added to the INCLUDES.
+# Adding META-INF/services would include all files in that directory when only the one
+# is needed, which is why this explicit copy is defined instead.
+$(eval $(call SetupCopyFiles,COPY_JIMAGE_SERVICE_PROVIDER, \
+    SRC := $(JDK_TOPDIR)/src/java.base/share/classes, \
+    DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes, \
+    FILES := META-INF/services/java.nio.file.spi.FileSystemProvider))
+
 ##########################################################################################
 
 # Tools needed on solaris because OBJCOPY is broken.
@@ -173,7 +182,7 @@
       PROGRAM := fix_empty_sec_hdr_flags))
 endif
 
-$(BUILD_TOOLS_JDK): $(BUILD_INTERIM_JIMAGE)
+$(BUILD_TOOLS_JDK): $(BUILD_INTERIM_JIMAGE) $(COPY_JIMAGE_SERVICE_PROVIDER)
 
 java-tools: $(BUILD_TOOLS_JDK)