RFR: JDK-8158402 - jlink: should use regex for all pattern operations (--order-resources or --exclude-resources)

Jim Laskey (Oracle) james.laskey at oracle.com
Thu Jun 9 11:00:16 UTC 2016


> On Jun 9, 2016, at 7:16 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
> 
> On 08/06/2016 20:45, Jim Laskey (Oracle) wrote:
> 
>> Consistent use of PathPatterns for jlink, jimage and jmod options.
>> 
>> —optionName=(regex:|glob:|<nil>)<pattern> ?? where <nil><pattern> => glob:<pattern>
>> 
>> http://cr.openjdk.java.net/~jlaskey/8158402/webrev/index.html <http://cr.openjdk.java.net/~jlaskey/8158402/webrev/index.html>
>> https://bugs.openjdk.java.net/browse/JDK-8158402 <https://bugs.openjdk.java.net/browse/JDK-8158402>
>> 
> This look okay to me but two questions:
> 
> 1. Do any of the usage resources need to be updated?

I have changes for the make files as well. 

diff -r 6a78ef1d1e58 make/Images.gmk
--- a/make/Images.gmk	Mon May 30 16:17:11 2016 +0200
+++ b/make/Images.gmk	Wed Jun 08 15:24:53 2016 -0300
@@ -115,16 +115,16 @@
 # Use this file inside the image as target for make rule
 JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
 
-JLINK_ORDER_RESOURCES := *module-info.class*
+JLINK_ORDER_RESOURCES := **module-info.class
 ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
   JLINK_ORDER_RESOURCES += @$(SUPPORT_OUTPUTDIR)/classlist/classlist
 endif
 JLINK_ORDER_RESOURCES += \
-    /java.base/java/* \
-    /java.base/jdk/* \
-    /java.base/sun/* \
-    /java.base/com/* \
-    /jdk.localedata/* \
+    /java.base/java/** \
+    /java.base/jdk/** \
+    /java.base/sun/** \
+    /java.base/com/** \
+    /jdk.localedata/** \
     #
 
 JLINK_TOOL := $(JLINK) --modulepath $(IMAGES_OUTPUTDIR)/jmods \


> 
> 2. Does this introduce an inconsistency in the jmod tool in that --hash-modules takes a regex whereas --exclude takes a pattern that is a glob (at least by default, it could be a regex too if prefixed with "regex:”).

I was taking Chris’ advisement on this.

> 
> -Alan



More information about the jigsaw-dev mailing list