BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration am: d0b037235d
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/23378947 Change-Id: I0fef5b60fe9f2aeeff7d09b55901782f3fcd8df2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
18
Changes.md
18
Changes.md
@@ -505,6 +505,24 @@ $(call dist-for-goals,foo,bar/baz)
|
||||
|
||||
will copy `bar/baz` into `$DIST_DIR/baz` when `m foo dist` is run.
|
||||
|
||||
#### FILE_NAME_TAG {#FILE_NAME_TAG}
|
||||
|
||||
To embed the `BUILD_NUMBER` (or for local builds, `eng.${USER}`), include
|
||||
`FILE_NAME_TAG_PLACEHOLDER` in the destination:
|
||||
|
||||
``` make
|
||||
# you can use dist-for-goals-with-filenametag function
|
||||
$(call dist-for-goals-with-filenametag,foo,bar.zip)
|
||||
# or use FILE_NAME_TAG_PLACEHOLDER manually
|
||||
$(call dist-for-goals,foo,bar.zip:baz-FILE_NAME_TAG_PLACEHOLDER.zip)
|
||||
```
|
||||
|
||||
Which will produce `$DIST_DIR/baz-1234567.zip` on build servers which set
|
||||
`BUILD_NUMBER=1234567`, or `$DIST_DIR/baz-eng.builder.zip` for local builds.
|
||||
|
||||
If you just want to append `BUILD_NUMBER` at the end of basename, use
|
||||
`dist-for-goals-with-filenametag` instead of `dist-for-goals`.
|
||||
|
||||
#### Renames during copy
|
||||
|
||||
Instead of specifying just a file, a destination name can be specified,
|
||||
|
@@ -711,7 +711,7 @@ name := $(TARGET_PRODUCT)
|
||||
ifeq ($(TARGET_BUILD_TYPE),debug)
|
||||
name := $(name)_debug
|
||||
endif
|
||||
name := $(name)-apkcerts-$(FILE_NAME_TAG)
|
||||
name := $(name)-apkcerts
|
||||
intermediates := \
|
||||
$(call intermediates-dir-for,PACKAGING,apkcerts)
|
||||
APKCERTS_FILE := $(intermediates)/$(name).txt
|
||||
@@ -5710,7 +5710,7 @@ name := $(TARGET_PRODUCT)
|
||||
ifeq ($(TARGET_BUILD_TYPE),debug)
|
||||
name := $(name)_debug
|
||||
endif
|
||||
name := $(name)-target_files-$(FILE_NAME_TAG)
|
||||
name := $(name)-target_files
|
||||
|
||||
intermediates := $(call intermediates-dir-for,PACKAGING,target_files)
|
||||
BUILT_TARGET_FILES_DIR := $(intermediates)/$(name).zip.list
|
||||
@@ -6480,7 +6480,7 @@ $(call declare-container-license-deps,$(BUILT_TARGET_FILES_PACKAGE), $(INSTALLED
|
||||
$(BUILT_KERNEL_CONFIGS_FILE) \
|
||||
$(BUILT_KERNEL_VERSION_FILE),$(BUILT_TARGET_FILES_PACKAGE):)
|
||||
|
||||
$(call dist-for-goals, target-files-package, $(BUILT_TARGET_FILES_PACKAGE))
|
||||
$(call dist-for-goals-with-filenametag, target-files-package, $(BUILT_TARGET_FILES_PACKAGE))
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# NDK Sysroot Package
|
||||
@@ -6515,7 +6515,7 @@ product_name := $(TARGET_PRODUCT)
|
||||
ifeq ($(TARGET_BUILD_TYPE),debug)
|
||||
product_name := $(product_name)_debug
|
||||
endif
|
||||
name := $(product_name)-ota-$(FILE_NAME_TAG)
|
||||
name := $(product_name)-ota
|
||||
|
||||
INTERNAL_OTA_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
|
||||
INTERNAL_OTA_METADATA := $(PRODUCT_OUT)/ota_metadata
|
||||
@@ -6535,7 +6535,7 @@ $(call declare-container-license-deps,$(INTERNAL_OTA_PACKAGE_TARGET),$(BUILT_TAR
|
||||
otapackage: $(INTERNAL_OTA_PACKAGE_TARGET)
|
||||
|
||||
ifeq ($(BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE),true)
|
||||
name := $(product_name)-ota-retrofit-$(FILE_NAME_TAG)
|
||||
name := $(product_name)-ota-retrofit
|
||||
|
||||
INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
|
||||
$(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR)
|
||||
@@ -6556,7 +6556,7 @@ otapackage otardppackage: $(INTERNAL_OTA_RETROFIT_DYNAMIC_PARTITIONS_PACKAGE_TAR
|
||||
endif # BOARD_BUILD_RETROFIT_DYNAMIC_PARTITIONS_OTA_PACKAGE
|
||||
|
||||
ifneq ($(BOARD_PARTIAL_OTA_UPDATE_PARTITIONS_LIST),)
|
||||
name := $(product_name)-partial-ota-$(FILE_NAME_TAG)
|
||||
name := $(product_name)-partial-ota
|
||||
|
||||
INTERNAL_OTA_PARTIAL_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
|
||||
$(INTERNAL_OTA_PARTIAL_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR)
|
||||
@@ -6656,9 +6656,9 @@ ifeq ($(TARGET_BUILD_TYPE),debug)
|
||||
endif
|
||||
|
||||
# The path to the zip file containing binaries with symbols.
|
||||
SYMBOLS_ZIP := $(PRODUCT_OUT)/$(name)-symbols-$(FILE_NAME_TAG).zip
|
||||
SYMBOLS_ZIP := $(PRODUCT_OUT)/$(name)-symbols.zip
|
||||
# The path to a file containing mappings from elf IDs to filenames.
|
||||
SYMBOLS_MAPPING := $(PRODUCT_OUT)/$(name)-symbols-mapping-$(FILE_NAME_TAG).textproto
|
||||
SYMBOLS_MAPPING := $(PRODUCT_OUT)/$(name)-symbols-mapping.textproto
|
||||
.KATI_READONLY := SYMBOLS_ZIP SYMBOLS_MAPPING
|
||||
# For apps_only build we'll establish the dependency later in build/make/core/main.mk.
|
||||
ifeq (,$(TARGET_BUILD_UNBUNDLED))
|
||||
@@ -6733,7 +6733,7 @@ name := $(TARGET_PRODUCT)
|
||||
ifeq ($(TARGET_BUILD_TYPE),debug)
|
||||
name := $(name)_debug
|
||||
endif
|
||||
name := $(name)-apps-$(FILE_NAME_TAG)
|
||||
name := $(name)-apps
|
||||
|
||||
APPS_ZIP := $(PRODUCT_OUT)/$(name).zip
|
||||
$(APPS_ZIP): $(FULL_SYSTEMIMAGE_DEPS)
|
||||
@@ -6784,9 +6784,9 @@ endif # EMMA_INSTRUMENT=true
|
||||
#
|
||||
|
||||
# The path to the zip file containing proguard dictionaries.
|
||||
PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-$(FILE_NAME_TAG).zip
|
||||
PROGUARD_DICT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict.zip
|
||||
# The path to the zip file containing mappings from dictionary hashes to filenames.
|
||||
PROGUARD_DICT_MAPPING := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-mapping-$(FILE_NAME_TAG).textproto
|
||||
PROGUARD_DICT_MAPPING := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-dict-mapping.textproto
|
||||
.KATI_READONLY := PROGUARD_DICT_ZIP PROGUARD_DICT_MAPPING
|
||||
# For apps_only build we'll establish the dependency later in build/make/core/main.mk.
|
||||
ifeq (,$(TARGET_BUILD_UNBUNDLED))
|
||||
@@ -6815,7 +6815,7 @@ endif
|
||||
#------------------------------------------------------------------
|
||||
# A zip of Proguard usage files.
|
||||
#
|
||||
PROGUARD_USAGE_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-usage-$(FILE_NAME_TAG).zip
|
||||
PROGUARD_USAGE_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-proguard-usage.zip
|
||||
# For apps_only build we'll establish the dependency later in build/make/core/main.mk.
|
||||
ifeq (,$(TARGET_BUILD_UNBUNDLED))
|
||||
$(PROGUARD_USAGE_ZIP): \
|
||||
@@ -6992,7 +6992,7 @@ name := $(TARGET_PRODUCT)
|
||||
ifeq ($(TARGET_BUILD_TYPE),debug)
|
||||
name := $(name)_debug
|
||||
endif
|
||||
name := $(name)-img-$(FILE_NAME_TAG)
|
||||
name := $(name)-img
|
||||
|
||||
INTERNAL_UPDATE_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
|
||||
|
||||
@@ -7008,7 +7008,7 @@ $(call declare-container-license-deps,$(INTERNAL_UPDATE_PACKAGE_TARGET),$(BUILT_
|
||||
|
||||
.PHONY: updatepackage
|
||||
updatepackage: $(INTERNAL_UPDATE_PACKAGE_TARGET)
|
||||
$(call dist-for-goals,updatepackage,$(INTERNAL_UPDATE_PACKAGE_TARGET))
|
||||
$(call dist-for-goals-with-filenametag,updatepackage,$(INTERNAL_UPDATE_PACKAGE_TARGET))
|
||||
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
@@ -7137,7 +7137,7 @@ INTERNAL_EMULATOR_PACKAGE_FILES += \
|
||||
$(INSTALLED_SYSTEMIMAGE_TARGET) \
|
||||
$(INSTALLED_USERDATAIMAGE_TARGET)
|
||||
|
||||
name := $(TARGET_PRODUCT)-emulator-$(FILE_NAME_TAG)
|
||||
name := $(TARGET_PRODUCT)-emulator
|
||||
|
||||
INTERNAL_EMULATOR_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
|
||||
|
||||
@@ -7165,7 +7165,7 @@ sdk_dir := $(HOST_OUT)/sdk/$(TARGET_PRODUCT)
|
||||
ifneq ($(HOST_OS),linux)
|
||||
$(error Building the monolithic SDK is only supported on Linux)
|
||||
endif
|
||||
sdk_name := android-sdk_$(FILE_NAME_TAG)
|
||||
sdk_name := android-sdk
|
||||
INTERNAL_SDK_HOST_OS_NAME := linux-$(SDK_HOST_ARCH)
|
||||
sdk_name := $(sdk_name)_$(INTERNAL_SDK_HOST_OS_NAME)
|
||||
|
||||
|
@@ -856,6 +856,7 @@ endif
|
||||
.KATI_READONLY := MAINLINE_SEPOLICY_DEV_CERTIFICATES
|
||||
|
||||
BUILD_NUMBER_FROM_FILE := $$(cat $(SOONG_OUT_DIR)/build_number.txt)
|
||||
BUILD_HOSTNAME_FROM_FILE := $$(cat $(SOONG_OUT_DIR)/build_hostname.txt)
|
||||
BUILD_DATETIME_FROM_FILE := $$(cat $(BUILD_DATETIME_FILE))
|
||||
|
||||
# SEPolicy versions
|
||||
|
@@ -98,8 +98,6 @@ $(full_classes_combined_jar): PRIVATE_DONT_DELETE_JAR_META_INF := $(LOCAL_DONT_D
|
||||
$(full_classes_combined_jar): $(full_classes_compiled_jar) \
|
||||
$(jar_manifest_file) \
|
||||
$(full_static_java_libs) | $(MERGE_ZIPS)
|
||||
$(if $(PRIVATE_JAR_MANIFEST), $(hide) sed -e "s/%BUILD_NUMBER%/$(BUILD_NUMBER_FROM_FILE)/" \
|
||||
$(PRIVATE_JAR_MANIFEST) > $(dir $@)/manifest.mf)
|
||||
$(MERGE_ZIPS) -j --ignore-duplicates $(if $(PRIVATE_JAR_MANIFEST),-m $(dir $@)/manifest.mf) \
|
||||
$(if $(PRIVATE_DONT_DELETE_JAR_META_INF),,-stripDir META-INF -zipToNotStrip $<) \
|
||||
$@ $< $(PRIVATE_STATIC_JAVA_LIBRARIES)
|
||||
|
@@ -296,8 +296,6 @@ $(full_classes_combined_jar): PRIVATE_DONT_DELETE_JAR_META_INF := $(LOCAL_DONT_D
|
||||
$(full_classes_combined_jar): $(full_classes_compiled_jar) \
|
||||
$(jar_manifest_file) \
|
||||
$(full_static_java_libs) | $(MERGE_ZIPS)
|
||||
$(if $(PRIVATE_JAR_MANIFEST), $(hide) sed -e "s/%BUILD_NUMBER%/$(BUILD_NUMBER_FROM_FILE)/" \
|
||||
$(PRIVATE_JAR_MANIFEST) > $(dir $@)/manifest.mf)
|
||||
$(MERGE_ZIPS) -j --ignore-duplicates $(if $(PRIVATE_JAR_MANIFEST),-m $(dir $@)/manifest.mf) \
|
||||
$(if $(PRIVATE_DONT_DELETE_JAR_META_INF),,-stripDir META-INF -zipToNotStrip $<) \
|
||||
$@ $< $(PRIVATE_STATIC_JAVA_LIBRARIES)
|
||||
|
51
core/main.mk
51
core/main.mk
@@ -40,31 +40,23 @@ include $(BUILD_SYSTEM)/clang/config.mk
|
||||
# Write the build number to a file so it can be read back in
|
||||
# without changing the command line every time. Avoids rebuilds
|
||||
# when using ninja.
|
||||
$(shell mkdir -p $(SOONG_OUT_DIR) && \
|
||||
echo -n $(BUILD_NUMBER) > $(SOONG_OUT_DIR)/build_number.tmp; \
|
||||
if ! cmp -s $(SOONG_OUT_DIR)/build_number.tmp $(SOONG_OUT_DIR)/build_number.txt; then \
|
||||
mv $(SOONG_OUT_DIR)/build_number.tmp $(SOONG_OUT_DIR)/build_number.txt; \
|
||||
else \
|
||||
rm $(SOONG_OUT_DIR)/build_number.tmp; \
|
||||
fi)
|
||||
BUILD_NUMBER_FILE := $(SOONG_OUT_DIR)/build_number.txt
|
||||
.KATI_READONLY := BUILD_NUMBER_FILE
|
||||
$(KATI_obsolete_var BUILD_NUMBER,See https://android.googlesource.com/platform/build/+/master/Changes.md#BUILD_NUMBER)
|
||||
BUILD_HOSTNAME_FILE := $(SOONG_OUT_DIR)/build_hostname.txt
|
||||
$(KATI_obsolete_var BUILD_HOSTNAME,Use BUILD_HOSTNAME_FROM_FILE instead)
|
||||
$(KATI_obsolete_var FILE_NAME_TAG,https://android.googlesource.com/platform/build/+/master/Changes.md#FILE_NAME_TAG)
|
||||
|
||||
$(BUILD_NUMBER_FILE):
|
||||
touch $@
|
||||
touch -a $@
|
||||
$(BUILD_HOSTNAME_FILE):
|
||||
touch -a $@
|
||||
|
||||
.KATI_RESTAT: $(BUILD_NUMBER_FILE)
|
||||
.KATI_RESTAT: $(BUILD_HOSTNAME_FILE)
|
||||
|
||||
DATE_FROM_FILE := date -d @$(BUILD_DATETIME_FROM_FILE)
|
||||
.KATI_READONLY := DATE_FROM_FILE
|
||||
|
||||
# Pick a reasonable string to use to identify files.
|
||||
ifeq ($(strip $(HAS_BUILD_NUMBER)),false)
|
||||
# BUILD_NUMBER has a timestamp in it, which means that
|
||||
# it will change every time. Pick a stable value.
|
||||
FILE_NAME_TAG := eng.$(BUILD_USERNAME)
|
||||
else
|
||||
FILE_NAME_TAG := $(file <$(BUILD_NUMBER_FILE))
|
||||
endif
|
||||
.KATI_READONLY := FILE_NAME_TAG
|
||||
|
||||
# Make an empty directory, which can be used to make empty jars
|
||||
EMPTY_DIRECTORY := $(OUT_DIR)/empty
|
||||
@@ -1751,15 +1743,15 @@ else ifneq ($(TARGET_BUILD_APPS),)
|
||||
endif
|
||||
|
||||
$(PROGUARD_DICT_ZIP) : $(apps_only_installed_files)
|
||||
$(call dist-for-goals,apps_only, $(PROGUARD_DICT_ZIP) $(PROGUARD_DICT_MAPPING))
|
||||
$(call dist-for-goals-with-filenametag,apps_only, $(PROGUARD_DICT_ZIP) $(PROGUARD_DICT_ZIP) $(PROGUARD_DICT_MAPPING))
|
||||
$(call declare-container-license-deps,$(PROGUARD_DICT_ZIP),$(apps_only_installed_files),$(PRODUCT_OUT)/:/)
|
||||
|
||||
$(PROGUARD_USAGE_ZIP) : $(apps_only_installed_files)
|
||||
$(call dist-for-goals,apps_only, $(PROGUARD_USAGE_ZIP))
|
||||
$(call dist-for-goals-with-filenametag,apps_only, $(PROGUARD_USAGE_ZIP))
|
||||
$(call declare-container-license-deps,$(PROGUARD_USAGE_ZIP),$(apps_only_installed_files),$(PRODUCT_OUT)/:/)
|
||||
|
||||
$(SYMBOLS_ZIP) : $(apps_only_installed_files)
|
||||
$(call dist-for-goals,apps_only, $(SYMBOLS_ZIP) $(SYMBOLS_MAPPING))
|
||||
$(call dist-for-goals-with-filenametag,apps_only, $(SYMBOLS_ZIP) $(SYMBOLS_MAPPING))
|
||||
$(call declare-container-license-deps,$(SYMBOLS_ZIP),$(apps_only_installed_files),$(PRODUCT_OUT)/:/)
|
||||
|
||||
$(COVERAGE_ZIP) : $(apps_only_installed_files)
|
||||
@@ -1805,10 +1797,9 @@ else ifeq ($(TARGET_BUILD_UNBUNDLED),$(TARGET_BUILD_UNBUNDLED_IMAGE))
|
||||
# avoid disting targets that would cause building framework java sources,
|
||||
# which we want to avoid in an unbundled build.
|
||||
|
||||
$(call dist-for-goals, droidcore-unbundled, \
|
||||
$(call dist-for-goals-with-filenametag, droidcore-unbundled, \
|
||||
$(INTERNAL_UPDATE_PACKAGE_TARGET) \
|
||||
$(INTERNAL_OTA_PACKAGE_TARGET) \
|
||||
$(INTERNAL_OTA_METADATA) \
|
||||
$(INTERNAL_OTA_PARTIAL_PACKAGE_TARGET) \
|
||||
$(BUILT_RAMDISK_16K_TARGET) \
|
||||
$(BUILT_KERNEL_16K_TARGET) \
|
||||
@@ -1818,6 +1809,11 @@ else ifeq ($(TARGET_BUILD_UNBUNDLED),$(TARGET_BUILD_UNBUNDLED_IMAGE))
|
||||
$(PROGUARD_DICT_ZIP) \
|
||||
$(PROGUARD_DICT_MAPPING) \
|
||||
$(PROGUARD_USAGE_ZIP) \
|
||||
$(BUILT_TARGET_FILES_PACKAGE) \
|
||||
)
|
||||
|
||||
$(call dist-for-goals, droidcore-unbundled, \
|
||||
$(INTERNAL_OTA_METADATA) \
|
||||
$(COVERAGE_ZIP) \
|
||||
$(INSTALLED_FILES_FILE) \
|
||||
$(INSTALLED_FILES_JSON) \
|
||||
@@ -1845,7 +1841,6 @@ else ifeq ($(TARGET_BUILD_UNBUNDLED),$(TARGET_BUILD_UNBUNDLED_IMAGE))
|
||||
$(INSTALLED_ODM_BUILD_PROP_TARGET):build.prop-odm \
|
||||
$(INSTALLED_SYSTEM_EXT_BUILD_PROP_TARGET):build.prop-system_ext \
|
||||
$(INSTALLED_RAMDISK_BUILD_PROP_TARGET):build.prop-ramdisk \
|
||||
$(BUILT_TARGET_FILES_PACKAGE) \
|
||||
$(INSTALLED_ANDROID_INFO_TXT_TARGET) \
|
||||
$(INSTALLED_MISC_INFO_TARGET) \
|
||||
$(INSTALLED_RAMDISK_TARGET) \
|
||||
@@ -1857,7 +1852,7 @@ else ifeq ($(TARGET_BUILD_UNBUNDLED),$(TARGET_BUILD_UNBUNDLED_IMAGE))
|
||||
$(call dist-for-goals, droidcore-unbundled, $(f)))
|
||||
|
||||
ifneq ($(ANDROID_BUILD_EMBEDDED),true)
|
||||
$(call dist-for-goals, droidcore, \
|
||||
$(call dist-for-goals-with-filenametag, droidcore, \
|
||||
$(APPS_ZIP) \
|
||||
$(INTERNAL_EMULATOR_PACKAGE_TARGET) \
|
||||
)
|
||||
@@ -1957,10 +1952,8 @@ docs: $(ALL_DOCS)
|
||||
ifeq ($(HOST_OS),linux)
|
||||
ALL_SDK_TARGETS := $(INTERNAL_SDK_TARGET)
|
||||
sdk: $(ALL_SDK_TARGETS)
|
||||
$(call dist-for-goals,sdk, \
|
||||
$(ALL_SDK_TARGETS) \
|
||||
$(INSTALLED_BUILD_PROP_TARGET) \
|
||||
)
|
||||
$(call dist-for-goals-with-filenametag,sdk,$(ALL_SDK_TARGETS))
|
||||
$(call dist-for-goals,sdk,$(INSTALLED_BUILD_PROP_TARGET))
|
||||
endif
|
||||
|
||||
# umbrella targets to assit engineers in verifying builds
|
||||
|
@@ -174,7 +174,7 @@ ifeq (,$(strip $(BUILD_FINGERPRINT)))
|
||||
ifeq ($(strip $(HAS_BUILD_NUMBER)),false)
|
||||
BF_BUILD_NUMBER := $(BUILD_USERNAME)$$($(DATE_FROM_FILE) +%m%d%H%M)
|
||||
else
|
||||
BF_BUILD_NUMBER := $(file <$(BUILD_NUMBER_FILE))
|
||||
BF_BUILD_NUMBER := $$(cat $(SOONG_OUT_DIR)/build_hostname.txt)
|
||||
endif
|
||||
BUILD_FINGERPRINT := $(PRODUCT_BRAND)/$(TARGET_PRODUCT)/$(TARGET_DEVICE):$(PLATFORM_VERSION)/$(BUILD_ID)/$(BF_BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)
|
||||
endif
|
||||
@@ -196,6 +196,9 @@ ifeq (,$(strip $(BUILD_THUMBPRINT)))
|
||||
endif
|
||||
|
||||
BUILD_THUMBPRINT_FILE := $(PRODUCT_OUT)/build_thumbprint.txt
|
||||
ifeq ($(strip $(HAS_BUILD_NUMBER)),true)
|
||||
$(BUILD_THUMBPRINT_FILE): $(BUILD_NUMBER_FILE)
|
||||
endif
|
||||
ifneq (,$(shell mkdir -p $(PRODUCT_OUT) && echo $(BUILD_THUMBPRINT) >$(BUILD_THUMBPRINT_FILE) && grep " " $(BUILD_THUMBPRINT_FILE)))
|
||||
$(error BUILD_THUMBPRINT cannot contain spaces: "$(file <$(BUILD_THUMBPRINT_FILE))")
|
||||
endif
|
||||
@@ -260,7 +263,11 @@ $(strip $(subst _,-, $(firstword $(1))))
|
||||
endef
|
||||
|
||||
gen_from_buildinfo_sh := $(call intermediates-dir-for,PACKAGING,system_build_prop)/buildinfo.prop
|
||||
$(gen_from_buildinfo_sh): $(INTERNAL_BUILD_ID_MAKEFILE) $(API_FINGERPRINT) | $(BUILD_DATETIME_FILE) $(BUILD_NUMBER_FILE)
|
||||
|
||||
ifeq ($(strip $(HAS_BUILD_NUMBER)),true)
|
||||
$(gen_from_buildinfo_sh): $(BUILD_NUMBER_FILE)
|
||||
endif
|
||||
$(gen_from_buildinfo_sh): $(INTERNAL_BUILD_ID_MAKEFILE) $(API_FINGERPRINT) $(BUILD_HOSTNAME_FILE) | $(BUILD_DATETIME_FILE)
|
||||
$(hide) TARGET_BUILD_TYPE="$(TARGET_BUILD_VARIANT)" \
|
||||
TARGET_BUILD_FLAVOR="$(TARGET_BUILD_FLAVOR)" \
|
||||
TARGET_DEVICE="$(TARGET_DEVICE)" \
|
||||
@@ -271,7 +278,7 @@ $(gen_from_buildinfo_sh): $(INTERNAL_BUILD_ID_MAKEFILE) $(API_FINGERPRINT) | $(B
|
||||
BUILD_DISPLAY_ID="$(BUILD_DISPLAY_ID)" \
|
||||
DATE="$(DATE_FROM_FILE)" \
|
||||
BUILD_USERNAME="$(BUILD_USERNAME)" \
|
||||
BUILD_HOSTNAME="$(BUILD_HOSTNAME)" \
|
||||
BUILD_HOSTNAME="$(BUILD_HOSTNAME_FROM_FILE)" \
|
||||
BUILD_NUMBER="$(BUILD_NUMBER_FROM_FILE)" \
|
||||
BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT="$(BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT)" \
|
||||
PLATFORM_VERSION="$(PLATFORM_VERSION)" \
|
||||
|
@@ -19,12 +19,13 @@
|
||||
addon_name := $(PRODUCT_SDK_ADDON_NAME)
|
||||
ifneq ($(addon_name),)
|
||||
|
||||
addon_dir_leaf := $(addon_name)-$(FILE_NAME_TAG)-$(INTERNAL_SDK_HOST_OS_NAME)
|
||||
addon_dir_img := $(addon_dir_leaf)-img
|
||||
intermediates := $(HOST_OUT_INTERMEDIATES)/SDK_ADDON/$(addon_name)_intermediates
|
||||
full_target := $(HOST_OUT_SDK_ADDON)/$(addon_dir_leaf).zip
|
||||
full_target_img := $(HOST_OUT_SDK_ADDON)/$(addon_dir_img).zip
|
||||
staging := $(intermediates)
|
||||
addon_dir_leaf := $(addon_name)-$(INTERNAL_SDK_HOST_OS_NAME)
|
||||
addon_dir_img := $(addon_dir_leaf)-img
|
||||
intermediates := $(HOST_OUT_INTERMEDIATES)/SDK_ADDON/$(addon_name)_intermediates
|
||||
full_target := $(HOST_OUT_SDK_ADDON)/$(addon_dir_leaf).zip
|
||||
full_target_dist_name := $(addon_name)-FILE_NAME_TAG_PLACEHOLDER-$(INTERNAL_SDK_HOST_OS_NAME)
|
||||
full_target_img := $(HOST_OUT_SDK_ADDON)/$(addon_dir_img).zip
|
||||
staging := $(intermediates)
|
||||
|
||||
sdk_addon_deps :=
|
||||
files_to_copy :=
|
||||
@@ -140,7 +141,7 @@ ADDON_SDK_IMG_ZIP := $(full_target_img)
|
||||
else
|
||||
# When not building an sdk_repo, just dist the addon zip file
|
||||
# as-is.
|
||||
$(call dist-for-goals, sdk_addon, $(full_target))
|
||||
$(call dist-for-goals, sdk_addon, $(full_target):$(full_target_dist_name))
|
||||
endif
|
||||
|
||||
else # addon_name
|
||||
|
@@ -105,6 +105,9 @@ ifeq (true,$(filter true, $(CUSTOM_IMAGE_AVB_HASH_ENABLE) $(CUSTOM_IMAGE_AVB_HAS
|
||||
else ifneq (,$(filter true, $(CUSTOM_IMAGE_AVB_HASH_ENABLE) $(CUSTOM_IMAGE_AVB_HASHTREE_ENABLE)))
|
||||
$(error Cannot set both CUSTOM_IMAGE_AVB_HASH_ENABLE and CUSTOM_IMAGE_AVB_HASHTREE_ENABLE to true)
|
||||
endif
|
||||
ifeq ($(strip $(HAS_BUILD_NUMBER)),true)
|
||||
$(my_built_custom_image): $(BUILD_NUMBER_FILE)
|
||||
endif
|
||||
$(my_built_custom_image): $(INTERNAL_USERIMAGES_DEPS) $(my_built_modules) $(my_image_copy_files) $(my_custom_image_modules_dep) \
|
||||
$(CUSTOM_IMAGE_DICT_FILE)
|
||||
@echo "Build image $@"
|
||||
|
@@ -118,6 +118,9 @@ $(compatibility_zip): PRIVATE_RESOURCES := $(compatibility_zip_resources)
|
||||
$(compatibility_zip): PRIVATE_JDK := $(test_suite_jdk)
|
||||
$(compatibility_zip): PRIVATE_tests_list := $(out_dir)-tests_list
|
||||
$(compatibility_zip): PRIVATE_tests_list_zip := $(compatibility_tests_list_zip)
|
||||
ifeq ($(strip $(HAS_BUILD_NUMBER)),true)
|
||||
$(compatibility_zip): $(BUILD_NUMBER_FILE)
|
||||
endif
|
||||
$(compatibility_zip): $(compatibility_zip_deps) | $(ADB) $(ACP)
|
||||
# Make dir structure
|
||||
mkdir -p $(PRIVATE_OUT_DIR)/tools $(PRIVATE_OUT_DIR)/testcases
|
||||
|
@@ -20,7 +20,8 @@ ifeq ($(TARGET_BUILD_TYPE),debug)
|
||||
name := $(name)_debug
|
||||
endif
|
||||
|
||||
name := $(name)-flashable-$(FILE_NAME_TAG)-with-license
|
||||
dist_name := $(name)-flashable-FILE_NAME_TAG_PLACEHOLDER-with-license
|
||||
name := $(name)-flashable-with-license
|
||||
|
||||
with_license_intermediates := \
|
||||
$(call intermediates-dir-for,PACKAGING,with_license)
|
||||
@@ -42,6 +43,7 @@ $(call declare-1p-container,$(license_image_input_zip),build)
|
||||
$(call declare-container-deps,$(license_image_input_zip),$(BUILT_TARGET_FILES_PACKAGE))
|
||||
|
||||
with_license_zip := $(PRODUCT_OUT)/$(name).sh
|
||||
dist_name := $(dist_name).sh
|
||||
$(with_license_zip): PRIVATE_NAME := $(name)
|
||||
$(with_license_zip): PRIVATE_INPUT_ZIP := $(license_image_input_zip)
|
||||
$(with_license_zip): PRIVATE_VENDOR_BLOBS_LICENSE := $(VENDOR_BLOBS_LICENSE)
|
||||
@@ -51,7 +53,7 @@ $(with_license_zip): $(HOST_OUT_EXECUTABLES)/generate-self-extracting-archive
|
||||
$(HOST_OUT_EXECUTABLES)/generate-self-extracting-archive $@ \
|
||||
$(PRIVATE_INPUT_ZIP) $(PRIVATE_NAME) $(PRIVATE_VENDOR_BLOBS_LICENSE)
|
||||
with-license : $(with_license_zip)
|
||||
$(call dist-for-goals, with-license, $(with_license_zip))
|
||||
$(call dist-for-goals, with-license, $(with_license_zip):$(dist_name))
|
||||
|
||||
$(call declare-1p-container,$(with_license_zip),)
|
||||
$(call declare-container-license-deps,$(with_license_zip),$(license_image_input_zip),$(with_license_zip):)
|
||||
|
@@ -246,21 +246,10 @@ DATE := date -d @$(BUILD_DATETIME)
|
||||
# to soong_ui.
|
||||
$(KATI_obsolete_var BUILD_DATETIME,Use BUILD_DATETIME_FROM_FILE)
|
||||
|
||||
HAS_BUILD_NUMBER := true
|
||||
ifndef BUILD_NUMBER
|
||||
# BUILD_NUMBER should be set to the source control value that
|
||||
# represents the current state of the source code. E.g., a
|
||||
# perforce changelist number or a git hash. Can be an arbitrary string
|
||||
# (to allow for source control that uses something other than numbers),
|
||||
# but must be a single word and a valid file name.
|
||||
#
|
||||
# If no BUILD_NUMBER is set, create a useful "I am an engineering build
|
||||
# from this date/time" value. Make it start with a non-digit so that
|
||||
# anyone trying to parse it as an integer will probably get "0".
|
||||
BUILD_NUMBER := eng.$(shell echo $${BUILD_USERNAME:0:6}).$(shell $(DATE) +%Y%m%d.%H%M%S)
|
||||
ifndef HAS_BUILD_NUMBER
|
||||
HAS_BUILD_NUMBER := false
|
||||
endif
|
||||
.KATI_READONLY := BUILD_NUMBER HAS_BUILD_NUMBER
|
||||
.KATI_READONLY := HAS_BUILD_NUMBER
|
||||
|
||||
ifndef PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION
|
||||
# Used to set minimum supported target sdk version. Apps targeting sdk
|
||||
|
@@ -18,10 +18,12 @@
|
||||
DIST_GOAL_OUTPUT_PAIRS :=
|
||||
DIST_SRC_DST_PAIRS :=
|
||||
include $(KATI_PACKAGE_MK_DIR)/dist.mk
|
||||
FILE_NAME_TAG := $(file <$(OUT_DIR)/file_name_tag.txt)
|
||||
.KATI_READONLY := FILE_NAME_TAG
|
||||
|
||||
$(foreach pair,$(DIST_GOAL_OUTPUT_PAIRS), \
|
||||
$(eval goal := $(call word-colon,1,$(pair))) \
|
||||
$(eval output := $(call word-colon,2,$(pair))) \
|
||||
$(eval output := $(subst FILE_NAME_TAG_PLACEHOLDER,$(FILE_NAME_TAG),$(call word-colon,2,$(pair)))) \
|
||||
$(eval .PHONY: _dist_$$(goal)) \
|
||||
$(if $(call streq,$(DIST),true),\
|
||||
$(eval _dist_$$(goal): $$(DIST_DIR)/$$(output)), \
|
||||
@@ -37,7 +39,7 @@ endef
|
||||
ifeq ($(DIST),true)
|
||||
$(foreach pair,$(DIST_SRC_DST_PAIRS), \
|
||||
$(eval src := $(call word-colon,1,$(pair))) \
|
||||
$(eval dst := $(DIST_DIR)/$(call word-colon,2,$(pair))) \
|
||||
$(eval dst := $(subst FILE_NAME_TAG_PLACEHOLDER,$(FILE_NAME_TAG),$(DIST_DIR)/$(call word-colon,2,$(pair)))) \
|
||||
$(eval $(call copy-one-dist-file,$(src),$(dst))))
|
||||
endif
|
||||
|
||||
|
Reference in New Issue
Block a user