Loading core/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -1427,7 +1427,7 @@ $(3) : $(6) $(BUILD_SYSTEM)/Makefile build/make/tools/generate-notice-files.py $(if $(filter $(1),xml_system),-i system --xml-output, \ $(if $(filter $(1),xml_odm),-i odm --xml-output, \ --html-output)))))) $(3) \ -t $$(PRIVATE_MESSAGE) -s $$(PRIVATE_DIR)/src -t $$(PRIVATE_MESSAGE) $$(foreach dir,$$(sort $$(PRIVATE_DIR)), -s $$(dir)/src) notice_files: $(2) $(3) endef Loading core/build_id.mk +1 −1 Original line number Diff line number Diff line Loading @@ -18,4 +18,4 @@ # (like "CRB01"). It must be a single word, and is # capitalized by convention. BUILD_ID=RP1A.200720.004 BUILD_ID=RP1A.200720.005 core/tasks/cts.mk +1 −0 Original line number Diff line number Diff line Loading @@ -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 include_test_suite_notice := true include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk Loading core/tasks/tools/compatibility.mk +23 −2 Original line number Diff line number Diff line Loading @@ -46,20 +46,40 @@ 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 # 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 $(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_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 $(hide) find $(PRIVATE_RESOURCES) | sort >$@.list $(hide) $(SOONG_ZIP) -d -o $@ -C $(dir $@) -l $@.list # Reset all input variables Loading @@ -69,4 +89,5 @@ test_suite_dynamic_config := test_suite_readme := test_suite_prebuilt_tools := test_suite_tools := include_test_suite_notice := host_shared_libs := tools/generate-notice-files.py +36 −35 Original line number Diff line number Diff line Loading @@ -73,10 +73,10 @@ body { padding: 0; font-family: sans-serif; } </style> """ def combine_notice_files_html(file_hash, input_dir, output_filename): def combine_notice_files_html(file_hash, input_dirs, output_filename): """Combine notice files in FILE_HASH and output a HTML version to OUTPUT_FILENAME.""" SRC_DIR_STRIP_RE = re.compile(input_dir + "(/.*).txt") SRC_DIR_STRIP_RE = re.compile("(?:" + "|".join(input_dirs) + ")(/.*).txt") # Set up a filename to row id table (anchors inside tables don't work in # most browsers, but href's to table row ids do) Loading Loading @@ -131,10 +131,10 @@ def combine_notice_files_html(file_hash, input_dir, output_filename): print >> output_file, "</body></html>" output_file.close() def combine_notice_files_text(file_hash, input_dir, output_filename, file_title): def combine_notice_files_text(file_hash, input_dirs, output_filename, file_title): """Combine notice files in FILE_HASH and output a text version to OUTPUT_FILENAME.""" SRC_DIR_STRIP_RE = re.compile(input_dir + "(/.*).txt") SRC_DIR_STRIP_RE = re.compile("(?:" + "|".join(input_dirs) + ")(/.*).txt") output_file = open(output_filename, "wb") print >> output_file, file_title for value in file_hash: Loading @@ -146,10 +146,10 @@ def combine_notice_files_text(file_hash, input_dir, output_filename, file_title) print >> output_file, open(value[0]).read() output_file.close() def combine_notice_files_xml(files_with_same_hash, input_dir, output_filename): def combine_notice_files_xml(files_with_same_hash, input_dirs, output_filename): """Combine notice files in FILE_HASH and output a XML version to OUTPUT_FILENAME.""" SRC_DIR_STRIP_RE = re.compile(input_dir + "(/.*).txt") SRC_DIR_STRIP_RE = re.compile("(?:" + "|".join(input_dirs) + ")(/.*).txt") # Set up a filename to row id table (anchors inside tables don't work in # most browsers, but href's to table row ids do) Loading Loading @@ -205,7 +205,7 @@ def get_args(): '-t', '--title', required=True, help='The file title.') parser.add_argument( '-s', '--source-dir', required=True, '-s', '--source-dir', required=True, action='append', help='The directory containing notices.') parser.add_argument( '-i', '--included-subdirs', action='append', Loading @@ -229,8 +229,9 @@ def main(argv): if args.excluded_subdirs is not None: excluded_subdirs = args.excluded_subdirs input_dirs = [os.path.normpath(source_dir) for source_dir in args.source_dir] # Find all the notice files and md5 them input_dir = os.path.normpath(args.source_dir) for input_dir in input_dirs: files_with_same_hash = defaultdict(list) for root, dir, files in os.walk(input_dir): for file in files: Loading @@ -255,13 +256,13 @@ def main(argv): filesets = [sorted(files_with_same_hash[md5]) for md5 in sorted(files_with_same_hash.keys())] combine_notice_files_text(filesets, input_dir, txt_output_file, file_title) combine_notice_files_text(filesets, input_dirs, txt_output_file, file_title) if html_output_file is not None: combine_notice_files_html(filesets, input_dir, html_output_file) combine_notice_files_html(filesets, input_dirs, html_output_file) if xml_output_file is not None: combine_notice_files_xml(files_with_same_hash, input_dir, xml_output_file) combine_notice_files_xml(files_with_same_hash, input_dirs, xml_output_file) if __name__ == "__main__": main(sys.argv) Loading
core/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -1427,7 +1427,7 @@ $(3) : $(6) $(BUILD_SYSTEM)/Makefile build/make/tools/generate-notice-files.py $(if $(filter $(1),xml_system),-i system --xml-output, \ $(if $(filter $(1),xml_odm),-i odm --xml-output, \ --html-output)))))) $(3) \ -t $$(PRIVATE_MESSAGE) -s $$(PRIVATE_DIR)/src -t $$(PRIVATE_MESSAGE) $$(foreach dir,$$(sort $$(PRIVATE_DIR)), -s $$(dir)/src) notice_files: $(2) $(3) endef Loading
core/build_id.mk +1 −1 Original line number Diff line number Diff line Loading @@ -18,4 +18,4 @@ # (like "CRB01"). It must be a single word, and is # capitalized by convention. BUILD_ID=RP1A.200720.004 BUILD_ID=RP1A.200720.005
core/tasks/cts.mk +1 −0 Original line number Diff line number Diff line Loading @@ -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 include_test_suite_notice := true include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk Loading
core/tasks/tools/compatibility.mk +23 −2 Original line number Diff line number Diff line Loading @@ -46,20 +46,40 @@ 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 # 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 $(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_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 $(hide) find $(PRIVATE_RESOURCES) | sort >$@.list $(hide) $(SOONG_ZIP) -d -o $@ -C $(dir $@) -l $@.list # Reset all input variables Loading @@ -69,4 +89,5 @@ test_suite_dynamic_config := test_suite_readme := test_suite_prebuilt_tools := test_suite_tools := include_test_suite_notice := host_shared_libs :=
tools/generate-notice-files.py +36 −35 Original line number Diff line number Diff line Loading @@ -73,10 +73,10 @@ body { padding: 0; font-family: sans-serif; } </style> """ def combine_notice_files_html(file_hash, input_dir, output_filename): def combine_notice_files_html(file_hash, input_dirs, output_filename): """Combine notice files in FILE_HASH and output a HTML version to OUTPUT_FILENAME.""" SRC_DIR_STRIP_RE = re.compile(input_dir + "(/.*).txt") SRC_DIR_STRIP_RE = re.compile("(?:" + "|".join(input_dirs) + ")(/.*).txt") # Set up a filename to row id table (anchors inside tables don't work in # most browsers, but href's to table row ids do) Loading Loading @@ -131,10 +131,10 @@ def combine_notice_files_html(file_hash, input_dir, output_filename): print >> output_file, "</body></html>" output_file.close() def combine_notice_files_text(file_hash, input_dir, output_filename, file_title): def combine_notice_files_text(file_hash, input_dirs, output_filename, file_title): """Combine notice files in FILE_HASH and output a text version to OUTPUT_FILENAME.""" SRC_DIR_STRIP_RE = re.compile(input_dir + "(/.*).txt") SRC_DIR_STRIP_RE = re.compile("(?:" + "|".join(input_dirs) + ")(/.*).txt") output_file = open(output_filename, "wb") print >> output_file, file_title for value in file_hash: Loading @@ -146,10 +146,10 @@ def combine_notice_files_text(file_hash, input_dir, output_filename, file_title) print >> output_file, open(value[0]).read() output_file.close() def combine_notice_files_xml(files_with_same_hash, input_dir, output_filename): def combine_notice_files_xml(files_with_same_hash, input_dirs, output_filename): """Combine notice files in FILE_HASH and output a XML version to OUTPUT_FILENAME.""" SRC_DIR_STRIP_RE = re.compile(input_dir + "(/.*).txt") SRC_DIR_STRIP_RE = re.compile("(?:" + "|".join(input_dirs) + ")(/.*).txt") # Set up a filename to row id table (anchors inside tables don't work in # most browsers, but href's to table row ids do) Loading Loading @@ -205,7 +205,7 @@ def get_args(): '-t', '--title', required=True, help='The file title.') parser.add_argument( '-s', '--source-dir', required=True, '-s', '--source-dir', required=True, action='append', help='The directory containing notices.') parser.add_argument( '-i', '--included-subdirs', action='append', Loading @@ -229,8 +229,9 @@ def main(argv): if args.excluded_subdirs is not None: excluded_subdirs = args.excluded_subdirs input_dirs = [os.path.normpath(source_dir) for source_dir in args.source_dir] # Find all the notice files and md5 them input_dir = os.path.normpath(args.source_dir) for input_dir in input_dirs: files_with_same_hash = defaultdict(list) for root, dir, files in os.walk(input_dir): for file in files: Loading @@ -255,13 +256,13 @@ def main(argv): filesets = [sorted(files_with_same_hash[md5]) for md5 in sorted(files_with_same_hash.keys())] combine_notice_files_text(filesets, input_dir, txt_output_file, file_title) combine_notice_files_text(filesets, input_dirs, txt_output_file, file_title) if html_output_file is not None: combine_notice_files_html(filesets, input_dir, html_output_file) combine_notice_files_html(filesets, input_dirs, html_output_file) if xml_output_file is not None: combine_notice_files_xml(files_with_same_hash, input_dir, xml_output_file) combine_notice_files_xml(files_with_same_hash, input_dirs, xml_output_file) if __name__ == "__main__": main(sys.argv)