mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 06:14:49 +02:00
8036611: Cleanup of handling of properties and other java resources in the build
Reviewed-by: tbell, ihse
This commit is contained in:
parent
97a80c5f9d
commit
18c3f81053
1 changed files with 31 additions and 14 deletions
|
@ -336,7 +336,20 @@ endef
|
||||||
# Previously this was inconsistently done in different repositories.
|
# Previously this was inconsistently done in different repositories.
|
||||||
# This is the new clean standard. Though it is to be superseded by
|
# This is the new clean standard. Though it is to be superseded by
|
||||||
# a standard annotation processor from with sjavac.
|
# a standard annotation processor from with sjavac.
|
||||||
define add_file_to_copy_and_clean
|
#
|
||||||
|
# The sed expression does this:
|
||||||
|
# 1. Add a backslash before any :, = or ! that do not have a backslash already.
|
||||||
|
# 2. Apply the file unicode2x.sed which does a whole bunch of \u00XX to \xXX
|
||||||
|
# conversions.
|
||||||
|
# 3. Delete all lines starting with #.
|
||||||
|
# 4. Delete empty lines.
|
||||||
|
# 5. Append lines ending with \ with the next line.
|
||||||
|
# 6. Remove leading and trailing white space.
|
||||||
|
# 7. Replace the first \= with just =.
|
||||||
|
# 8. Finally it's all sorted to create a stable output.
|
||||||
|
#
|
||||||
|
# It is assumed that = is the character used for separating names and values.
|
||||||
|
define add_file_to_clean
|
||||||
# param 1 = BUILD_MYPACKAGE
|
# param 1 = BUILD_MYPACKAGE
|
||||||
# parma 2 = The source file to copy and clean.
|
# parma 2 = The source file to copy and clean.
|
||||||
$2_TARGET:=$2
|
$2_TARGET:=$2
|
||||||
|
@ -345,7 +358,8 @@ define add_file_to_copy_and_clean
|
||||||
# Now we can setup the depency that will trigger the copying.
|
# Now we can setup the depency that will trigger the copying.
|
||||||
$$($1_BIN)$$($2_TARGET) : $2
|
$$($1_BIN)$$($2_TARGET) : $2
|
||||||
$(MKDIR) -p $$(@D)
|
$(MKDIR) -p $$(@D)
|
||||||
$(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
|
$(CAT) $$< | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' \
|
||||||
|
-e 's/\([^\\]\)!/\1\\!/g' -e 's/#.*/#/g' \
|
||||||
| $(SED) -f "$(SRC_ROOT)/make/common/support/unicode2x.sed" \
|
| $(SED) -f "$(SRC_ROOT)/make/common/support/unicode2x.sed" \
|
||||||
| $(SED) -e '/^#/d' -e '/^$$$$/d' \
|
| $(SED) -e '/^#/d' -e '/^$$$$/d' \
|
||||||
-e :a -e '/\\$$$$/N; s/\\\n//; ta' \
|
-e :a -e '/\\$$$$/N; s/\\\n//; ta' \
|
||||||
|
@ -376,8 +390,9 @@ define SetupJavaCompilation
|
||||||
# INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages.
|
# INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages.
|
||||||
# EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages.
|
# EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages.
|
||||||
# COPY:=.prp means copy all prp files to the corresponding package in BIN.
|
# COPY:=.prp means copy all prp files to the corresponding package in BIN.
|
||||||
# CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN.
|
|
||||||
# COPY_FILES:=myapp/foo/setting.txt means copy this file over to the package myapp/foo
|
# COPY_FILES:=myapp/foo/setting.txt means copy this file over to the package myapp/foo
|
||||||
|
# CLEAN:=.properties means copy and clean all properties file to the corresponding package in BIN.
|
||||||
|
# CLEAN_FILES:=myapp/foo/setting.txt means clean this file over to the package myapp/foo
|
||||||
# SRCZIP:=Create a src.zip based on the found sources and copied files.
|
# SRCZIP:=Create a src.zip based on the found sources and copied files.
|
||||||
# INCLUDE_FILES:="com/sun/SolarisFoobar.java" means only compile this file!
|
# INCLUDE_FILES:="com/sun/SolarisFoobar.java" means only compile this file!
|
||||||
# EXCLUDE_FILES:="com/sun/SolarisFoobar.java" means do not compile this particular file!
|
# EXCLUDE_FILES:="com/sun/SolarisFoobar.java" means do not compile this particular file!
|
||||||
|
@ -437,7 +452,7 @@ define SetupJavaCompilation
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Find all files to be copied from source to bin.
|
# Find all files to be copied from source to bin.
|
||||||
ifneq (,$$($1_COPY))
|
ifneq (,$$($1_COPY)$$($1_COPY_FILES))
|
||||||
# Search for all files to be copied.
|
# Search for all files to be copied.
|
||||||
$1_ALL_COPIES := $$(filter $$(addprefix %,$$($1_COPY)),$$($1_ALL_SRCS))
|
$1_ALL_COPIES := $$(filter $$(addprefix %,$$($1_COPY)),$$($1_ALL_SRCS))
|
||||||
# Copy these explicitly
|
# Copy these explicitly
|
||||||
|
@ -452,20 +467,22 @@ define SetupJavaCompilation
|
||||||
ifneq (,$$($1_EXCLUDE_FILES))
|
ifneq (,$$($1_EXCLUDE_FILES))
|
||||||
$1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES))
|
$1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES))
|
||||||
endif
|
endif
|
||||||
# All files below META-INF are always copied.
|
endif
|
||||||
$1_ALL_COPIES += $$(filter $$(addsuffix /META-INF%,$$($1_SRC)),$$($1_ALL_SRCS))
|
# All files below META-INF are always copied.
|
||||||
ifneq (,$$($1_ALL_COPIES))
|
$1_ALL_COPIES += $$(filter $$(addsuffix /META-INF%,$$($1_SRC)),$$($1_ALL_SRCS))
|
||||||
# Yep, there are files to be copied!
|
ifneq (,$$($1_ALL_COPIES))
|
||||||
$1_ALL_COPY_TARGETS:=
|
# Yep, there are files to be copied!
|
||||||
$$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i)))
|
$1_ALL_COPY_TARGETS:=
|
||||||
# Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files!
|
$$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i)))
|
||||||
endif
|
# Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files!
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Find all property files to be copied and cleaned from source to bin.
|
# Find all property files to be copied and cleaned from source to bin.
|
||||||
ifneq (,$$($1_CLEAN))
|
ifneq (,$$($1_CLEAN)$$($1_CLEAN_FILES))
|
||||||
# Search for all files to be copied.
|
# Search for all files to be copied.
|
||||||
$1_ALL_CLEANS := $$(filter $$(addprefix %,$$($1_CLEAN)),$$($1_ALL_SRCS))
|
$1_ALL_CLEANS := $$(filter $$(addprefix %,$$($1_CLEAN)),$$($1_ALL_SRCS))
|
||||||
|
# Clean these explicitly
|
||||||
|
$1_ALL_CLEANS += $$($1_CLEAN_FILES)
|
||||||
# Copy and clean must also respect filters.
|
# Copy and clean must also respect filters.
|
||||||
ifneq (,$$($1_INCLUDES))
|
ifneq (,$$($1_INCLUDES))
|
||||||
$1_ALL_CLEANS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_CLEANS))
|
$1_ALL_CLEANS := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_CLEANS))
|
||||||
|
@ -479,7 +496,7 @@ define SetupJavaCompilation
|
||||||
ifneq (,$$($1_ALL_CLEANS))
|
ifneq (,$$($1_ALL_CLEANS))
|
||||||
# Yep, there are files to be copied and cleaned!
|
# Yep, there are files to be copied and cleaned!
|
||||||
$1_ALL_COPY_CLEAN_TARGETS:=
|
$1_ALL_COPY_CLEAN_TARGETS:=
|
||||||
$$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_copy_and_clean,$1,$$i)))
|
$$(foreach i,$$($1_ALL_CLEANS),$$(eval $$(call add_file_to_clean,$1,$$i)))
|
||||||
# Now we can depend on $$($1_ALL_COPY_CLEAN_TARGETS) to copy all files!
|
# Now we can depend on $$($1_ALL_COPY_CLEAN_TARGETS) to copy all files!
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue