# HG changeset patch # User alanb # Date 1462262947 -3600 # Node ID 63e0379dd186c485d659df228a150be4ea19e941 # Parent 3be3da3d90bf06ec847e92357599c32a684cf184 8154956: Module system implementation refresh (4/2016) Reviewed-by: alanb, mchung, chegar, redestad Contributed-by: alan.bateman@oracle.com, mandy.chung@oracle.com, erik.joelsson@oracle.com diff -r 3be3da3d90bf -r 63e0379dd186 common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Thu Apr 28 08:26:30 2016 -0700 +++ b/common/autoconf/generated-configure.sh Tue May 03 09:09:07 2016 +0100 @@ -5070,7 +5070,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1460963400 +DATE_WHEN_GENERATED=1461307675 ############################################################################### # diff -r 3be3da3d90bf -r 63e0379dd186 common/autoconf/spec.gmk.in --- a/common/autoconf/spec.gmk.in Thu Apr 28 08:26:30 2016 -0700 +++ b/common/autoconf/spec.gmk.in Tue May 03 09:09:07 2016 +0100 @@ -569,14 +569,15 @@ # Use ?= as this can be overridden from bootcycle-spec.gmk BOOT_JDK_MODULAR ?= @BOOT_JDK_MODULAR@ +INTERIM_OVERRIDE_MODULES := java.compiler jdk.compiler \ + jdk.jdeps jdk.javadoc jdk.rmic ifeq ($(BOOT_JDK_MODULAR), true) - INTERIM_OVERRIDE_MODULES_ARGS = -Xpatch:$(BUILDTOOLS_OUTPUTDIR)/override_modules + INTERIM_OVERRIDE_MODULES_ARGS = $(foreach m, $(INTERIM_OVERRIDE_MODULES), \ + -Xpatch:$m=$(BUILDTOOLS_OUTPUTDIR)/override_modules/$m) INTERIM_LANGTOOLS_ARGS = $(INTERIM_OVERRIDE_MODULES_ARGS) JAVAC_MAIN_CLASS = -m jdk.compiler/com.sun.tools.javac.Main JAVADOC_MAIN_CLASS = -m jdk.javadoc/jdk.javadoc.internal.tool.Main else - INTERIM_OVERRIDE_MODULES := java.compiler jdk.compiler \ - jdk.jdeps jdk.javadoc jdk.rmic INTERIM_OVERRIDE_MODULES_ARGS = \ -Xbootclasspath/p:$(call PathList, \ $(addprefix $(BUILDTOOLS_OUTPUTDIR)/override_modules/, \ diff -r 3be3da3d90bf -r 63e0379dd186 common/conf/jib-profiles.js --- a/common/conf/jib-profiles.js Thu Apr 28 08:26:30 2016 -0700 +++ b/common/conf/jib-profiles.js Tue May 03 09:09:07 2016 +0100 @@ -399,7 +399,7 @@ jtreg: { server: "javare", revision: "4.2", - build_number: "b01", + build_number: "b02", checksum_file: "MD5_VALUES", file: "jtreg_bin-4.2.zip", environment_name: "JT_HOME" diff -r 3be3da3d90bf -r 63e0379dd186 make/CreateBuildJdkCopy.gmk --- a/make/CreateBuildJdkCopy.gmk Thu Apr 28 08:26:30 2016 -0700 +++ b/make/CreateBuildJdkCopy.gmk Tue May 03 09:09:07 2016 +0100 @@ -35,7 +35,7 @@ # Copy the modules needed to run jlink and jmod. Use bulk copy instead of # SetupCopyFiles since there are so many files. -COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/_buildjdk-copy-maker +COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/java.base/_the.buildjdk-copy-marker $(COPY_CLASSES_TARGET): $(call CacheFind, $(wildcard \ $(addprefix $(JDK_OUTPUTDIR)/modules/, $(MODULES_TO_COPY)))) diff -r 3be3da3d90bf -r 63e0379dd186 make/CreateJmods.gmk --- a/make/CreateJmods.gmk Thu Apr 28 08:26:30 2016 -0700 +++ b/make/CreateJmods.gmk Tue May 03 09:09:07 2016 +0100 @@ -64,9 +64,25 @@ DEPS += $(call CacheFind, $(CLASSES_DIR)) endif -# Add dependencies on other jmod files -DEPS += $(patsubst %, $(IMAGES_OUTPUTDIR)/jmods/%.jmod, \ - $(call FindDepsForModule, $(MODULE))) +# Add dependencies on other jmod files. Only java.base needs access to other +# jmods. +ifeq ($(MODULE), java.base) + DEPS += $(patsubst %, $(IMAGES_OUTPUTDIR)/jmods/%.jmod, \ + $(filter-out java.base, $(call FindAllModules))) + + # TODO: find modules that directly and indrectly on upgradeable modules + EXCLUDE_HASH_MODULES := $(UPGRADEABLE_MODULES) \ + java.se.ee \ + jdk.rmic \ + jdk.xml.bind \ + jdk.xml.ws \ + # + + EXCLUDE_PATTERN := $(strip $(subst $(SPACE),|,$(strip $(EXCLUDE_HASH_MODULES)))) + + JMOD_FLAGS += --modulepath $(IMAGES_OUTPUTDIR)/jmods \ + --hash-modules '^(?!$(EXCLUDE_PATTERN))' +endif # TODO: What about headers? # Create jmods in a temp dir and then move them into place to keep the @@ -81,7 +97,6 @@ --os-arch $(OPENJDK_TARGET_CPU_LEGACY) \ --os-version $(REQUIRED_OS_VERSION) \ --modulepath $(IMAGES_OUTPUTDIR)/jmods\ - --hash-dependencies '.*' \ --exclude '**_the.*' \ $(JMOD_FLAGS) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@) $(MV) $(SUPPORT_OUTPUTDIR)/jmods/$(notdir $@) $@ diff -r 3be3da3d90bf -r 63e0379dd186 make/Main.gmk --- a/make/Main.gmk Thu Apr 28 08:26:30 2016 -0700 +++ b/make/Main.gmk Tue May 03 09:09:07 2016 +0100 @@ -562,9 +562,9 @@ $(foreach m, $(GENDATA_MODULES), $(eval $m-strip: $m-gendata)) $(foreach m, $(COPY_MODULES), $(eval $m-strip: $m-copy)) - # Declare dependencies between jmod targets - $(foreach m, $(JMOD_MODULES), \ - $(eval $m-jmod: $(addsuffix -jmod, $(call FindDepsForModule,$m)))) + # Declare dependencies between jmod targets. Only java.base jmod needs access + # to the other jmods to be built. + java.base-jmod: $(filter-out java.base-jmod, $(JMOD_TARGETS)) # Declare dependencies from -jmod to all other module targets $(foreach m, $(STRIP_MODULES), $(eval $m-jmod: $m-strip)) diff -r 3be3da3d90bf -r 63e0379dd186 make/common/Modules.gmk --- a/make/common/Modules.gmk Thu Apr 28 08:26:30 2016 -0700 +++ b/make/common/Modules.gmk Tue May 03 09:09:07 2016 +0100 @@ -38,13 +38,12 @@ BOOT_MODULES := PLATFORM_MODULES := JRE_TOOL_MODULES := +UPGRADEABLE_MODULES := +AGGREGATOR_MODULES := # Hook to include the corresponding custom file, if present. $(eval $(call IncludeCustomExtension, , common/Modules.gmk)) -UPGRADEABLE_MDOULES := -AGGREGATOR_MDOULES := - BOOT_MODULES += \ java.base \ java.datatransfer \