1# Copyright (C) 2017 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# List all TradeFed tests from COMPATIBILITY.tradefed_tests_dir 16.PHONY: tradefed-tests-list 17 18COMPATIBILITY.tradefed_tests_dir := \ 19 $(COMPATIBILITY.tradefed_tests_dir) \ 20 tools/tradefederation/core/res/config \ 21 tools/tradefederation/core/javatests/res/config \ 22 vendor/google_tradefederation/contrib/res/config \ 23 vendor/google_tradefederation/core/res/config \ 24 vendor/google_tradefederation/core/javatests/res/config \ 25 vendor/google_tradefederation/core/prod_tests/res/config 26 27tradefed_tests := 28$(foreach dir, $(COMPATIBILITY.tradefed_tests_dir), \ 29 $(if $(wildcard $(dir)/*), \ 30 $(eval tradefed_tests += $(shell find $(dir) -type f -name "*.xml")) \ 31 ) \ 32) 33 34tradefed_tests_list_intermediates := $(call intermediates-dir-for,PACKAGING,tradefed_tests_list,HOST,COMMON) 35tradefed_tests_list_zip := $(tradefed_tests_list_intermediates)/tradefed-tests_list.zip 36all_tests := 37$(foreach test, $(tradefed_tests), \ 38 $(eval all_tests += $(word 2,$(subst /res/config/,$(space),$(test))))) 39$(tradefed_tests_list_zip) : PRIVATE_tradefed_tests := $(subst .xml,,$(subst $(space),\n,$(sort $(all_tests)))) 40$(tradefed_tests_list_zip) : PRIVATE_tradefed_tests_list := $(tradefed_tests_list_intermediates)/tradefed-tests_list 41 42$(tradefed_tests_list_zip) : $(tradefed_tests) $(SOONG_ZIP) 43 @echo "Package: $@" 44 $(hide) rm -rf $(dir $@) && mkdir -p $(dir $@) 45 $(hide) echo -e "$(PRIVATE_tradefed_tests)" > $(PRIVATE_tradefed_tests_list) 46 $(hide) $(SOONG_ZIP) -d -o $@ -C $(dir $@) -f $(PRIVATE_tradefed_tests_list) 47 48tradefed-tests-list : $(tradefed_tests_list_zip) 49$(call dist-for-goals, tradefed-tests-list, $(tradefed_tests_list_zip)) 50 51$(call declare-1p-target,$(tradefed_tests_list_zip),) 52 53tests: tradefed-tests-list 54