11926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Copyright (C) 2015 The Android Open Source Project
21926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#
31926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Licensed under the Apache License, Version 2.0 (the "License");
41926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# you may not use this file except in compliance with the License.
51926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# You may obtain a copy of the License at
61926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#
71926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#      http://www.apache.org/licenses/LICENSE-2.0
81926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#
91926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Unless required by applicable law or agreed to in writing, software
101926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# distributed under the License is distributed on an "AS IS" BASIS,
111926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# See the License for the specific language governing permissions and
131926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# limitations under the License.
141926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott
151926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Package up a compatibility test suite in a zip file.
161926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#
171926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Input variables:
181926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#   test_suite_name: the name of this test suite eg. cts
191926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#   test_suite_tradefed: the name of this test suite's tradefed wrapper
20aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holden#   test_suite_dynamic_config: the path to this test suite's dynamic configuration file
211926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#   test_suite_readme: the path to a README file for this test suite
22bae7ee5d9e522cecd996dbf15fa39255f6e9bab6Todd Lee#   test_suite_prebuilt_tools: the set of prebuilt tools to be included directly
23bae7ee5d9e522cecd996dbf15fa39255f6e9bab6Todd Lee#                         in the 'tools' subdirectory of the test suite.
24188831548742ac0b138b9f94c0f8d4e43f5366b0Siyuan Zhou#   test_suite_tools: the set of tools for this test suite
25188831548742ac0b138b9f94c0f8d4e43f5366b0Siyuan Zhou#
261926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Output variables:
271926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott#   compatibility_zip: the path to the output zip file.
281926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott
291926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scottout_dir := $(HOST_OUT)/$(test_suite_name)/android-$(test_suite_name)
301926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scotttest_artifacts := $(COMPATIBILITY.$(test_suite_name).FILES)
311dcff84ce68a48f224a6055b86ced96d7a620679Stuart Scotttest_tools := $(HOST_OUT_JAVA_LIBRARIES)/hosttestlib.jar \
3263d377c56b14c960318441f4372e90d99421fb96Julien Desprez  $(HOST_OUT_JAVA_LIBRARIES)/tradefed.jar \
33ccbedae0e67d6dc799b690f500d3c38e99b1227ejdesprez  $(HOST_OUT_JAVA_LIBRARIES)/loganalysis.jar \
3419324d1a064bcf1200b278f404eb38a8ad6abdaaStuart Scott  $(HOST_OUT_JAVA_LIBRARIES)/compatibility-host-util.jar \
357b10950b8a5e5eab6e93351e5ec8178b4380a85dJulien Desprez  $(HOST_OUT_JAVA_LIBRARIES)/compatibility-host-util-tests.jar \
367b10950b8a5e5eab6e93351e5ec8178b4380a85dJulien Desprez  $(HOST_OUT_JAVA_LIBRARIES)/compatibility-common-util-tests.jar \
377b10950b8a5e5eab6e93351e5ec8178b4380a85dJulien Desprez  $(HOST_OUT_JAVA_LIBRARIES)/compatibility-tradefed-tests.jar \
389aa0b891779eec2d9e7379f3f15e46e3d9d6628fJoe Onorato  $(HOST_OUT_JAVA_LIBRARIES)/host-libprotobuf-java-full.jar \
391dcff84ce68a48f224a6055b86ced96d7a620679Stuart Scott  $(HOST_OUT_JAVA_LIBRARIES)/$(test_suite_tradefed).jar \
407b10950b8a5e5eab6e93351e5ec8178b4380a85dJulien Desprez  $(HOST_OUT_JAVA_LIBRARIES)/$(test_suite_tradefed)-tests.jar \
411dcff84ce68a48f224a6055b86ced96d7a620679Stuart Scott  $(HOST_OUT_EXECUTABLES)/$(test_suite_tradefed) \
421dcff84ce68a48f224a6055b86ced96d7a620679Stuart Scott  $(test_suite_readme)
431926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott
44188831548742ac0b138b9f94c0f8d4e43f5366b0Siyuan Zhoutest_tools += $(test_suite_tools)
45188831548742ac0b138b9f94c0f8d4e43f5366b0Siyuan Zhou
461926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scottcompatibility_zip := $(out_dir).zip
471926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott$(compatibility_zip): PRIVATE_NAME := android-$(test_suite_name)
481926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott$(compatibility_zip): PRIVATE_OUT_DIR := $(out_dir)
49bae7ee5d9e522cecd996dbf15fa39255f6e9bab6Todd Lee$(compatibility_zip): PRIVATE_TOOLS := $(test_tools) $(test_suite_prebuilt_tools)
50aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holden$(compatibility_zip): PRIVATE_SUITE_NAME := $(test_suite_name)
51aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holden$(compatibility_zip): PRIVATE_DYNAMIC_CONFIG := $(test_suite_dynamic_config)
52bae7ee5d9e522cecd996dbf15fa39255f6e9bab6Todd Lee$(compatibility_zip): $(test_artifacts) $(test_tools) $(test_suite_prebuilt_tools) $(test_suite_dynamic_config) $(SOONG_ZIP) | $(ADB) $(ACP)
531926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Make dir structure
543a0374548abd4727c569f0f8c60cb88d35fb21daStuart Scott	$(hide) mkdir -p $(PRIVATE_OUT_DIR)/tools $(PRIVATE_OUT_DIR)/testcases
551926e9b8bf6ac90ee25a9ed4e9f20d36c4c355c3Stuart Scott# Copy tools
561dcff84ce68a48f224a6055b86ced96d7a620679Stuart Scott	$(hide) $(ACP) -fp $(PRIVATE_TOOLS) $(PRIVATE_OUT_DIR)/tools
57aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holden	$(if $(PRIVATE_DYNAMIC_CONFIG),$(hide) $(ACP) -fp $(PRIVATE_DYNAMIC_CONFIG) $(PRIVATE_OUT_DIR)/testcases/$(PRIVATE_SUITE_NAME).dynamic)
58c4cf49569f38c44e305df57024d5be20088ad123Dan Willemsen	$(hide) find $(dir $@)/$(PRIVATE_NAME) | sort >$@.list
59c4cf49569f38c44e305df57024d5be20088ad123Dan Willemsen	$(hide) $(SOONG_ZIP) -d -o $@ -C $(dir $@) -l $@.list
60aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holden
61aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holden# Reset all input variables
62aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holdentest_suite_name :=
63aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holdentest_suite_tradefed :=
64aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holdentest_suite_dynamic_config :=
65aee6f602f97c45efeff7e8a840b3009d0966e62eAaron Holdentest_suite_readme :=
66bae7ee5d9e522cecd996dbf15fa39255f6e9bab6Todd Leetest_suite_prebuilt_tools :=
67188831548742ac0b138b9f94c0f8d4e43f5366b0Siyuan Zhoutest_suite_tools :=
68