# # Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # LOCAL_PATH := $(call my-dir) VTF_MK := $(LOCAL_PATH)/vtf.mk VTF_PACKAGE_MK := test/vts/tools/build/tasks/framework/vtf_package.mk include $(CLEAR_VARS) include $(LOCAL_PATH)/tasks/list/vtslab_apk_package_list.mk include $(LOCAL_PATH)/tasks/list/vtslab_bin_package_list.mk include $(LOCAL_PATH)/tasks/list/vtslab_lib_package_list.mk VTSLAB_OUT_ROOT := $(HOST_OUT)/vtslab VTSLAB_TESTCASES_OUT := $(VTSLAB_OUT_ROOT)/android-vtslab/testcases VTSLAB_TOOLS_OUT := $(VTSLAB_OUT_ROOT)/android-vtslab/tools VTSLAB_BIN_LIB_OUT := $(VTSLAB_OUT_ROOT)/android-vtslab/ VTSLAB_TIMESTAMP := $(shell git -C $(LOCAL_PATH) log -s -n 1 --format="%cd" \ --date=format:"%Y%m%d_%H%M%S" 2>/dev/null) VTSLAB_SHORTHASH := $(shell git -C $(LOCAL_PATH) rev-parse --short HEAD 2>/dev/null) VTSLAB_VERSION := $(VTSLAB_TIMESTAMP):$(VTSLAB_SHORTHASH) # Packaging rule for android-vtslab.zip test_suite_name := vtslab test_suite_readme := test/framework/README.md include $(LOCAL_PATH)/package.mk include $(LOCAL_PATH)/utils/vtslab_package_utils.mk # TODO: instead of an alias, deprecate vtslab build target .PHONY: lab lab: vtslab .PHONY: vtslab vtslab: $(compatibility_zip) $(call dist-for-goals, vtslab, $(compatibility_zip)) # Packaging rule for android-vtslab.zip's testcases dir (DATA subdir). vtslab_apk_modules := \ $(vtslab_apk_packages) \ vtslab_apk_modules_copy_pairs := \ $(call target-native-copy-pairs,$(vtslab_apk_modules),$(VTSLAB_TESTCASES_OUT)) # host controller files. host_hc_files := \ $(call find-files-in-subdirs,test/framework/harnesses/host_controller,"*.py" -and -type f,.) \ host_hc_copy_pairs := \ $(foreach f,$(host_hc_files),\ test/framework/harnesses/host_controller/$(f):$(VTSLAB_TESTCASES_OUT)/host_controller/$(f)) # gsi security patch scripts. host_hc_gsispl_files := \ $(call find-files-in-subdirs,test/framework/harnesses/host_controller/gsi,"*.sh" -and -type f,.) \ host_hc_gsispl_copy_pairs := \ $(foreach f,$(host_hc_gsispl_files),\ test/framework/harnesses/host_controller/gsi/$(f):$(VTSLAB_BIN_LIB_OUT)/bin/$(f)) # host controller scripts. host_hc_extra_copy_pairs := \ test/framework/tools/host_controller/run:$(VTSLAB_TOOLS_OUT)/run \ test/framework/tools/host_controller/make_screen:$(VTSLAB_TOOLS_OUT)/make_screen \ test/vts/script/diagnose.py:$(VTSLAB_BIN_LIB_OUT)/bin/diagnose.py \ test/vts/script/pip_requirements.txt:$(VTSLAB_BIN_LIB_OUT)/bin/pip_requirements.txt \ test/vts/script/setup.sh:$(VTSLAB_BIN_LIB_OUT)/bin/setup.sh \ host_acloud_files := \ $(call find-files-in-subdirs,tools/acloud,"*.py" -and -type f,.) \ $(call find-files-in-subdirs,tools/acloud,"*.config" -and -type f,.) host_acloud_copy_pairs := \ $(foreach f,$(host_acloud_files),\ tools/acloud/$(f):$(VTSLAB_TESTCASES_OUT)/acloud/$(f)) host_vti_dashboard_proto_files := \ $(call find-files-in-subdirs,test/vti/dashboard/proto,"*.py" -and -type f,.) host_vti_test_serving_proto_files := \ $(call find-files-in-subdirs,test/vti/test_serving/proto,"*.py" -and -type f,.) host_vti_copy_pairs := \ $(foreach f,$(host_vti_test_serving_proto_files),\ test/vti/test_serving/proto/$(f):$(VTSLAB_TESTCASES_OUT)/vti/test_serving/proto/$(f)) \ $(foreach f,$(host_vti_dashboard_proto_files),\ test/vti/dashboard/proto/$(f):$(VTSLAB_TESTCASES_OUT)/vti/dashboard/proto/$(f)) \ test/vti/dashboard/__init__.py:$(VTSLAB_TESTCASES_OUT)/vti/dashboard/__init__.py \ test/vti/test_serving/__init__.py:$(VTSLAB_TESTCASES_OUT)/vti/test_serving/__init__.py \ $(VTSLAB_TESTCASES_OUT)/vti/__init__.py: @mkdir -p $(VTSLAB_TESTCASES_OUT)/vti @touch $(VTSLAB_TESTCASES_OUT)/vti/__init__.py host_vti_extra_copy_pairs := \ $(VTSLAB_TESTCASES_OUT)/vti/__init__.py \ vts_host_python_files := \ $(call find-files-in-subdirs,test/vts,"*.py" -and -type f,.) vts_host_python_copy_pairs := \ $(foreach f,$(vts_host_python_files),\ test/vts/$(f):$(VTSLAB_TESTCASES_OUT)/vts/$(f)) # Packaging rule for host-controller's dependencies host_hc_bin_lib := \ $(vtslab_bin_packages) \ $(vtslab_lib_packages) \ host_hc_bin_lib_copy_pairs := \ $(call host-native-copy-pairs,$(host_hc_bin_lib),$(VTSLAB_BIN_LIB_OUT)) vtslab_copy_pairs := \ $(call copy-many-files,$(vtslab_apk_modules_copy_pairs)) \ $(call copy-many-files,$(host_hc_copy_pairs)) \ $(call copy-many-files,$(host_hc_gsispl_copy_pairs)) \ $(call copy-many-files,$(host_hc_extra_copy_pairs)) \ $(call copy-many-files,$(host_acloud_copy_pairs)) \ $(call copy-many-files,$(host_vti_copy_pairs)) \ $(call copy-many-files,$(vts_host_python_copy_pairs)) \ $(call copy-many-files,$(host_hc_bin_lib_copy_pairs)) \ $(host_vti_extra_copy_pairs) \ $(compatibility_zip): $(vtslab_copy_pairs) $(VTSLAB_TESTCASES_OUT)/version.txt $(VTSLAB_TESTCASES_OUT)/version.txt: @rm -f $@ @echo $(VTSLAB_VERSION) > $@ # for VTF (Vendor Test Framework) VTF_OUT_ROOT := $(HOST_OUT)/vtf VTF_TESTCASES_OUT := $(VTF_OUT_ROOT)/android-vtf/testcases VTF_TOOLS_OUT := $(VTF_OUT_ROOT)/android-vtf/tools VTF_EXTRA_SCRIPTS := vtf include $(VTF_PACKAGE_MK) include $(VTF_MK) # clears local vars VTF_MK := VTF_PACKAGE_MK :=