blob: 82b18833748dc2c2b20f1b6fc2bd7025a8b62760 [file] [log] [blame]
#
# 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 :=