From e7f17259380036be075d6616eabc32a6fe3567a0 Mon Sep 17 00:00:00 2001 From: wangzhou Date: Wed, 15 Jul 2020 07:49:26 -0700 Subject: [PATCH 1/2] Build NOTICE txt file into TestSuite zip package. - the NOTICE file is only taken from out/host. - currently only enabled from cts by setting flag "test_suite_notice" Test: $ make cts && unzip -l \ out/host/linux-x86/cts/android-cts.zip \ | grep NOTICE $ make pts && \ unzip -l \ out/host/linux-x86/cts/android-cts.zip \ | grep NOTICE Bug: b/141258651 Change-Id: I696b424e5f2b09d28d53ccbd9198e1f4f301ec01 Merged-In: I696b424e5f2b09d28d53ccbd9198e1f4f301ec01 (cherry picked from commit 93d2fbbcad752dc0d828b52efeebfc3b74512e72) --- core/tasks/cts.mk | 1 + core/tasks/tools/compatibility.mk | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk index f3b4368775..3b91b5e239 100644 --- a/core/tasks/cts.mk +++ b/core/tasks/cts.mk @@ -16,6 +16,7 @@ test_suite_name := cts test_suite_tradefed := cts-tradefed test_suite_dynamic_config := test/suite_harness/tools/cts-tradefed/DynamicConfig.xml test_suite_readme := test/suite_harness/tools/cts-tradefed/README +test_suite_notice := $(tools_notice_file_txt) include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk diff --git a/core/tasks/tools/compatibility.mk b/core/tasks/tools/compatibility.mk index 5d820d503a..8f0678f337 100644 --- a/core/tasks/tools/compatibility.mk +++ b/core/tasks/tools/compatibility.mk @@ -47,20 +47,30 @@ test_tools += $(test_suite_tools) # Include host shared libraries host_shared_libs := $(call copy-many-files, $(COMPATIBILITY.$(test_suite_name).HOST_SHARED_LIBRARY.FILES)) +compatibility_zip_deps := $(test_artifacts) $(test_tools) $(test_suite_prebuilt_tools) $(test_suite_dynamic_config) $(SOONG_ZIP) $(host_shared_libs) +compatibility_zip_resources := $(out_dir)/tools $(out_dir)/testcases +ifdef test_suite_notice + compatibility_zip_deps += $(test_suite_notice) + compatibility_zip_resources += $(out_dir)/$(notdir $(test_suite_notice)) +endif + compatibility_zip := $(out_dir).zip $(compatibility_zip): PRIVATE_NAME := android-$(test_suite_name) $(compatibility_zip): PRIVATE_OUT_DIR := $(out_dir) $(compatibility_zip): PRIVATE_TOOLS := $(test_tools) $(test_suite_prebuilt_tools) $(compatibility_zip): PRIVATE_SUITE_NAME := $(test_suite_name) $(compatibility_zip): PRIVATE_DYNAMIC_CONFIG := $(test_suite_dynamic_config) -$(compatibility_zip): $(test_artifacts) $(test_tools) $(test_suite_prebuilt_tools) $(test_suite_dynamic_config) $(SOONG_ZIP) $(host_shared_libs) | $(ADB) $(ACP) +$(compatibility_zip): PRIVATE_NOTICE := $(test_suite_notice) +$(compatibility_zip): PRIVATE_RESOURCES := $(compatibility_zip_resources) +$(compatibility_zip): $(compatibility_zip_deps) | $(ADB) $(ACP) # Make dir structure $(hide) mkdir -p $(PRIVATE_OUT_DIR)/tools $(PRIVATE_OUT_DIR)/testcases $(hide) echo $(BUILD_NUMBER_FROM_FILE) > $(PRIVATE_OUT_DIR)/tools/version.txt # Copy tools $(hide) cp $(PRIVATE_TOOLS) $(PRIVATE_OUT_DIR)/tools $(if $(PRIVATE_DYNAMIC_CONFIG),$(hide) cp $(PRIVATE_DYNAMIC_CONFIG) $(PRIVATE_OUT_DIR)/testcases/$(PRIVATE_SUITE_NAME).dynamic) - $(hide) find $(PRIVATE_OUT_DIR)/tools $(PRIVATE_OUT_DIR)/testcases | sort >$@.list + $(if $(PRIVATE_NOTICE),$(hide) cp $(PRIVATE_NOTICE) $(PRIVATE_OUT_DIR)) + $(hide) find $(PRIVATE_RESOURCES) | sort >$@.list $(hide) $(SOONG_ZIP) -d -o $@ -C $(dir $@) -l $@.list # Reset all input variables @@ -70,4 +80,5 @@ test_suite_dynamic_config := test_suite_readme := test_suite_prebuilt_tools := test_suite_tools := +test_suite_notice := host_shared_libs := From 23acb0b896d1aa0d8a68ee76204996f7693d54d0 Mon Sep 17 00:00:00 2001 From: wangzhou Date: Tue, 21 Jul 2020 17:18:01 -0700 Subject: [PATCH 2/2] Combine HOST/TARGET in Test Suite NOTICE. This improved NOTICE bundling now includes TARGET_OUT deps that Android Test Suites packages need, especially those for .apk files. Bug: b/141258651 Test: $ make cts && \ unzip -p out/host/linux-x86/cts/android-cts.zip \ android-cts/NOTICE.txt \ | less -N Change-Id: I4c84d194ff5982fc57b6a8097602d4a9df68d61c Merged-In: I4c84d194ff5982fc57b6a8097602d4a9df68d61c (cherry picked from commit e73186d2ac5ef4e6e23631033a245ca805d833af) --- core/tasks/cts.mk | 2 +- core/tasks/tools/compatibility.mk | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk index 3b91b5e239..cd5fa8e3b3 100644 --- a/core/tasks/cts.mk +++ b/core/tasks/cts.mk @@ -16,7 +16,7 @@ test_suite_name := cts test_suite_tradefed := cts-tradefed test_suite_dynamic_config := test/suite_harness/tools/cts-tradefed/DynamicConfig.xml test_suite_readme := test/suite_harness/tools/cts-tradefed/README -test_suite_notice := $(tools_notice_file_txt) +include_test_suite_notice := true include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk diff --git a/core/tasks/tools/compatibility.mk b/core/tasks/tools/compatibility.mk index 8f0678f337..93185af903 100644 --- a/core/tasks/tools/compatibility.mk +++ b/core/tasks/tools/compatibility.mk @@ -49,9 +49,21 @@ host_shared_libs := $(call copy-many-files, $(COMPATIBILITY.$(test_suite_name).H compatibility_zip_deps := $(test_artifacts) $(test_tools) $(test_suite_prebuilt_tools) $(test_suite_dynamic_config) $(SOONG_ZIP) $(host_shared_libs) compatibility_zip_resources := $(out_dir)/tools $(out_dir)/testcases -ifdef test_suite_notice - compatibility_zip_deps += $(test_suite_notice) - compatibility_zip_resources += $(out_dir)/$(notdir $(test_suite_notice)) + +# Test Suite NOTICE files +test_suite_notice_txt := $(out_dir)/NOTICE.txt +test_suite_notice_html := $(out_dir)/NOTICE.html + +$(eval $(call combine-notice-files, html, \ + $(test_suite_notice_txt), \ + $(test_suite_notice_html), \ + "Notices for files contained in the test suites filesystem image in this directory:", \ + $(HOST_OUT_NOTICE_FILES) $(TARGET_OUT_NOTICE_FILES), \ + $(compatibility_zip_deps))) + +ifeq ($(include_test_suite_notice),true) + compatibility_zip_deps += $(test_suite_notice_txt) + compatibility_zip_resources += $(test_suite_notice_txt) endif compatibility_zip := $(out_dir).zip @@ -60,7 +72,6 @@ $(compatibility_zip): PRIVATE_OUT_DIR := $(out_dir) $(compatibility_zip): PRIVATE_TOOLS := $(test_tools) $(test_suite_prebuilt_tools) $(compatibility_zip): PRIVATE_SUITE_NAME := $(test_suite_name) $(compatibility_zip): PRIVATE_DYNAMIC_CONFIG := $(test_suite_dynamic_config) -$(compatibility_zip): PRIVATE_NOTICE := $(test_suite_notice) $(compatibility_zip): PRIVATE_RESOURCES := $(compatibility_zip_resources) $(compatibility_zip): $(compatibility_zip_deps) | $(ADB) $(ACP) # Make dir structure @@ -69,7 +80,6 @@ $(compatibility_zip): $(compatibility_zip_deps) | $(ADB) $(ACP) # Copy tools $(hide) cp $(PRIVATE_TOOLS) $(PRIVATE_OUT_DIR)/tools $(if $(PRIVATE_DYNAMIC_CONFIG),$(hide) cp $(PRIVATE_DYNAMIC_CONFIG) $(PRIVATE_OUT_DIR)/testcases/$(PRIVATE_SUITE_NAME).dynamic) - $(if $(PRIVATE_NOTICE),$(hide) cp $(PRIVATE_NOTICE) $(PRIVATE_OUT_DIR)) $(hide) find $(PRIVATE_RESOURCES) | sort >$@.list $(hide) $(SOONG_ZIP) -d -o $@ -C $(dir $@) -l $@.list @@ -80,5 +90,5 @@ test_suite_dynamic_config := test_suite_readme := test_suite_prebuilt_tools := test_suite_tools := -test_suite_notice := +include_test_suite_notice := host_shared_libs :=