diff --git a/make/CompileInterimLangtools.gmk b/make/CompileInterimLangtools.gmk index c869ea160c7..4a2bbaec5b8 100644 --- a/make/CompileInterimLangtools.gmk +++ b/make/CompileInterimLangtools.gmk @@ -95,7 +95,7 @@ define SetupInterimModule SRC := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim \ $$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$1) \ $(TOPDIR)/src/$1/share/classes, \ - EXCLUDES := sun javax/tools/snippet-files, \ + EXCLUDES := sun, \ EXCLUDE_FILES := $(TOPDIR)/src/$1/share/classes/module-info.java \ $(TOPDIR)/src/$1/share/classes/javax/tools/ToolProvider.java \ $(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/Main.java \ @@ -103,6 +103,7 @@ define SetupInterimModule $(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/MemoryModuleFinder.java \ $(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/SourceLauncher.java \ Standard.java, \ + EXCLUDE_PATTERNS := -files, \ EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java \ $($1.interim_EXTRA_FILES), \ COPY := .gif .png .xml .css .svg .js .js.template .txt .woff .woff2 javax.tools.JavaCompilerTool, \ diff --git a/make/CompileJavaModules.gmk b/make/CompileJavaModules.gmk index b4a193dfade..1e26fb2b529 100644 --- a/make/CompileJavaModules.gmk +++ b/make/CompileJavaModules.gmk @@ -113,6 +113,7 @@ $(eval $(call SetupJavaCompilation, $(MODULE), \ DISABLED_WARNINGS := $(DISABLED_WARNINGS_java), \ EXCLUDES := $(EXCLUDES), \ EXCLUDE_FILES := $(EXCLUDE_FILES), \ + EXCLUDE_PATTERNS := -files, \ KEEP_ALL_TRANSLATIONS := $(KEEP_ALL_TRANSLATIONS), \ JAVAC_FLAGS := \ $(DOCLINT) \ diff --git a/make/common/JavaCompilation.gmk b/make/common/JavaCompilation.gmk index cb647f0ed47..c5a74413de1 100644 --- a/make/common/JavaCompilation.gmk +++ b/make/common/JavaCompilation.gmk @@ -152,6 +152,7 @@ endef # INCLUDE_FILES "com/sun/SolarisFoobar.java" means only compile this file! # EXCLUDE_FILES "com/sun/SolarisFoobar.java" means do not compile this particular file! # "SolarisFoobar.java" means do not compile SolarisFoobar, wherever it is found. +# EXCLUDE_PATTERNS Exclude files matching any of these substrings # EXTRA_FILES List of extra source files to include in compilation. Can be used to # specify files that need to be generated by other rules first. # HEADERS path to directory where all generated c-headers are written. @@ -332,6 +333,20 @@ define SetupJavaCompilationBody $1_INCLUDE_PATTERN += $$(foreach i, $$($1_SRC), $$(addprefix $$i/, $$(addsuffix /%, $$($1_INCLUDES)))) endif + ifneq ($$($1_EXCLUDE_PATTERNS), ) + # We must not match the exclude pattern against the src roots, so first + # strip the src prefixes from the absolute file paths in SRCS. + $1_SRCS_WITHOUT_ROOTS := $$(foreach i, $$($1_SRC), \ + $$(patsubst $$i/%,%, $$(filter $$i/%, $$($1_SRCS)))) + $1_EXCLUDE_PATTERNS_WITHOUT_ROOTS := $$(call containing, \ + $$($1_EXCLUDE_PATTERNS), $$($1_SRCS_WITHOUT_ROOTS)) + # The add back all possible src prefixes; this will generate more paths + # than really exists, but it does not matter since we will use this as + # input to filter-out. + $1_EXCLUDE_PATTERN += $$(foreach i, $$($1_SRC), $$(addprefix $$i/, \ + $$($1_EXCLUDE_PATTERNS_WITHOUT_ROOTS))) + endif + # Apply include/exclude patterns to java sources ifneq ($$($1_EXCLUDE_PATTERN), ) $1_SRCS := $$(filter-out $$($1_EXCLUDE_PATTERN), $$($1_SRCS)) diff --git a/make/common/native/Paths.gmk b/make/common/native/Paths.gmk index ee097b2e134..bdb8828eb32 100644 --- a/make/common/native/Paths.gmk +++ b/make/common/native/Paths.gmk @@ -128,10 +128,9 @@ define SetupSourceFiles # Extract the C/C++ files. ifneq ($$($1_EXCLUDE_PATTERNS), ) # We must not match the exclude pattern against the src root(s). - $1_SRCS_WITHOUT_ROOTS := $$($1_SRCS) - $$(foreach i, $$($1_SRC), $$(eval $1_SRCS_WITHOUT_ROOTS := $$(patsubst \ - $$i/%,%, $$($1_SRCS_WITHOUT_ROOTS)))) - $1_ALL_EXCLUDE_FILES := $$(call containing, $$($1_EXCLUDE_PATTERNS), \ + $1_SRCS_WITHOUT_ROOTS := $$(foreach i, $$($1_SRC), \ + $$(patsubst $$i/%,%, $$(filter $$i/%, $$($1_SRCS)))) + $1_ALL_EXCLUDE_FILES := $$(call containing, $$($1_EXCLUDE_PATTERNS), \ $$($1_SRCS_WITHOUT_ROOTS)) endif ifneq ($$($1_EXCLUDE_FILES), ) diff --git a/make/modules/java.base/Java.gmk b/make/modules/java.base/Java.gmk index 84344f93409..fc091377456 100644 --- a/make/modules/java.base/Java.gmk +++ b/make/modules/java.base/Java.gmk @@ -41,11 +41,6 @@ CLEAN += intrinsic.properties EXCLUDE_FILES += \ $(TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java -EXCLUDES += java/lang/doc-files \ - java/lang/classfile/snippet-files \ - java/lang/classfile/components/snippet-files \ - java/lang/foreign/snippet-files - # Exclude BreakIterator classes that are just used in compile process to generate # data files and shouldn't go in the product EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java diff --git a/make/modules/java.compiler/Java.gmk b/make/modules/java.compiler/Java.gmk index cb720672639..d0a1fbf4cd5 100644 --- a/make/modules/java.compiler/Java.gmk +++ b/make/modules/java.compiler/Java.gmk @@ -32,6 +32,4 @@ DOCLINT += -Xdoclint:all/protected \ '-Xdoclint/package:java.*,javax.*' -EXCLUDES += javax/tools/snippet-files - ################################################################################ diff --git a/make/modules/java.desktop/Java.gmk b/make/modules/java.desktop/Java.gmk index 61c7fa44e0e..bab6186fb0d 100644 --- a/make/modules/java.desktop/Java.gmk +++ b/make/modules/java.desktop/Java.gmk @@ -31,15 +31,6 @@ DOCLINT += -Xdoclint:all/protected \ COPY += .gif .png .wav .txt .xml .css .pf CLEAN += iio-plugin.properties cursors.properties -EXCLUDES += \ - java/awt/doc-files \ - javax/swing/doc-files \ - javax/swing/text/doc-files \ - javax/swing/plaf/synth/doc-files \ - javax/swing/undo/doc-files \ - sun/awt/X11/doc-files \ - # - EXCLUDE_FILES += \ javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \ javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \ diff --git a/make/modules/jdk.jdi/Java.gmk b/make/modules/jdk.jdi/Java.gmk index d31008c318f..c5e3e715c1a 100644 --- a/make/modules/jdk.jdi/Java.gmk +++ b/make/modules/jdk.jdi/Java.gmk @@ -31,7 +31,6 @@ EXCLUDES += \ com/sun/tools/example/debug/bdi \ com/sun/tools/example/debug/event \ com/sun/tools/example/debug/gui \ - com/sun/jdi/doc-files \ # EXCLUDE_FILES += jdi-overview.html