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
23tradefed_tests :=
24$(foreach dir, $(COMPATIBILITY.tradefed_tests_dir), \
25  $(eval tradefed_tests += $(shell find $(dir) -type f -name "*.xml")))
26tradefed_tests_list_intermediates := $(call intermediates-dir-for,PACKAGING,tradefed_tests_list,HOST,COMMON)
27tradefed_tests_list_zip := $(tradefed_tests_list_intermediates)/tradefed-tests_list.zip
28all_tests :=
29$(foreach test, $(tradefed_tests), \
30  $(eval all_tests += $(word 2,$(subst /res/config/,$(space),$(test)))))
31$(tradefed_tests_list_zip) : PRIVATE_tradefed_tests := $(subst .xml,,$(subst $(space),\n,$(sort $(all_tests))))
32$(tradefed_tests_list_zip) : PRIVATE_tradefed_tests_list := $(tradefed_tests_list_intermediates)/tradefed-tests_list
33
34$(tradefed_tests_list_zip) : $(tradefed_tests) $(SOONG_ZIP)
35	@echo "Package: $@"
36	$(hide) rm -rf $(dir $@) && mkdir -p $(dir $@)
37	$(hide) echo -e "$(PRIVATE_tradefed_tests)" > $(PRIVATE_tradefed_tests_list)
38	$(hide) $(SOONG_ZIP) -d -o $@ -C $(dir $@) -f $(PRIVATE_tradefed_tests_list)
39
40tradefed-tests-list : $(tradefed_tests_list_zip)
41$(call dist-for-goals, tradefed-tests-list, $(tradefed_tests_list_zip))
42
43$(call declare-1p-target,$(tradefed_tests_list_zip),)
44
45tests: tradefed-tests-list
46