Review request: Install module content into zip files

Mark Reinhold mr at sun.com
Fri May 28 13:23:32 PDT 2010


> Date: Mon, 24 May 2010 14:26:45 -0700
> From: mandy.chung at oracle.com

> Mark Reinhold wrote:
> 
>     http://cr.openjdk.java.net/~mr/jigsaw/rev/zip-module-content/
> 
> Looks good.

Thanks.

I finally nailed down one last (I hope) build failure.  The import logic
in jdk/make/common/internal/ImportComponents.gmk needs to be updated to
extract classes from jar files rather than than classes directories.
Does the following look right to you?  It works fine on Linux; I haven't
yet tried it on other platforms but will do so later today.

- Mark


@@ -168,28 +168,16 @@
 define import-from-modules-image
 if [ "$3" != "" ] ; then \
   for m in $2 dummy ; do \
-    mdir=$(JDK_MODULES_LIB)/$$m/$(VERSION); \
-    for p in $3 dummy ; do \
-      if [ -d $$mdir/classes/$$p ] ; then \
-        $(ECHO) "Importing $$p classes from $$m module" ; \
-        $(MKDIR) -p $1/$$p; \
-        $(CP) -r $$mdir/classes/$$p/* $1/$$p ; \
-      elif [ -d $$mdir/resources/$$p ] ; then \
-        $(ECHO) "Importing $$p resources from $$m module" ; \
-        $(MKDIR) -p $1/$$p; \
-        $(CP) -r $$mdir/resources/$$p/* $1/$$p ; \
-      elif [ -f $$mdir/classes/$$p ] ; then \
-        $(ECHO) "Importing $$p classes from $$m module" ; \
-        pdir=`$(DIRNAME) $$p`; \
-        $(MKDIR) -p $1/$$pdir; \
-        $(CP) $$mdir/classes/$$p $1/$$pdir ; \
-      elif [ -f $$mdir/resources/$$p ] ; then \
-        $(ECHO) "Importing $$p resources from $$m module" ; \
-        pdir=`$(DIRNAME) $$p`; \
-        $(MKDIR) -p $1/$$pdir; \
-        $(CP) $$mdir/resources/$$p $1/$$pdir ; \
-      fi ; \
-    done ; \
+    mdir=$(JDK_MODULES_LIB)/$$m/$(VERSION) ; \
+    if [ -f $$mdir/classes ] ; then \
+      $(BOOT_JAR_CMD) tf $$mdir/classes >$(TEMPDIR)/$$m.ls ; \
+      for p in $3 dummy ; do \
+        if $(GREP) $$p $(TEMPDIR)/$$m.ls >/dev/null; then \
+          $(ECHO) "Importing $$p from module $$m" ; \
+          (cd $1; $(BOOT_JAR_CMD) xvf $$mdir/classes $$p) ; \
+        fi ; \
+      done ; \
+    fi; \
   done ; \
 fi
 endef



More information about the jigsaw-dev mailing list