Home | History | Annotate | Download | only in CtsVerifier
      1 #
      2 # Copyright (C) 2010 The Android Open Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 LOCAL_PATH:= $(call my-dir)
     18 include $(CLEAR_VARS)
     19 
     20 LOCAL_MODULE_TAGS := optional
     21 
     22 LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
     23 
     24 LOCAL_MULTILIB := both
     25 
     26 LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src)
     27 
     28 LOCAL_STATIC_JAVA_LIBRARIES := android-ex-camera2 \
     29                                compatibility-common-util-devicesidelib \
     30                                cts-sensors-tests \
     31                                cts-location-tests \
     32                                ctstestrunner \
     33                                apache-commons-math \
     34                                androidplot \
     35                                ctsverifier-opencv \
     36                                core-tests-support \
     37                                android-support-v4  \
     38                                mockito-target-minus-junit4 \
     39                                mockwebserver \
     40                                compatibility-device-util \
     41                                platform-test-annotations
     42 
     43 LOCAL_PACKAGE_NAME := CtsVerifier
     44 
     45 LOCAL_JNI_SHARED_LIBRARIES := libctsverifier_jni \
     46 		libaudioloopback_jni \
     47 		libnativehelper_compat_libc++
     48 
     49 LOCAL_PROGUARD_FLAG_FILES := proguard.flags
     50 
     51 LOCAL_SDK_VERSION := test_current
     52 
     53 LOCAL_DEX_PREOPT := false
     54 
     55 include $(BUILD_PACKAGE)
     56 
     57 # Build CTS verifier framework as a libary.
     58 
     59 include $(CLEAR_VARS)
     60 
     61 define java-files-in
     62 $(sort $(patsubst ./%,%, \
     63   $(shell cd $(LOCAL_PATH) ; \
     64           find -L $(1) -maxdepth 1 -name *.java -and -not -name ".*") \
     65  ))
     66 endef
     67 
     68 LOCAL_MODULE := cts-verifier-framework
     69 LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages android.support.v4
     70 LOCAL_SDK_VERSION := current
     71 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
     72 LOCAL_SRC_FILES := \
     73     $(call java-files-in, src/com/android/cts/verifier) \
     74     $(call java-files-in, src/com/android/cts/verifier/backup) \
     75     $(call all-Iaidl-files-under, src)
     76 
     77 LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 \
     78                                compatibility-common-util-devicesidelib \
     79                                compatibility-device-util \
     80 
     81 include $(BUILD_STATIC_JAVA_LIBRARY)
     82 
     83 # opencv library
     84 include $(CLEAR_VARS)
     85 
     86 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
     87         ctsverifier-opencv:libs/opencv3-android.jar
     88 
     89 include $(BUILD_MULTI_PREBUILT)
     90 
     91 
     92 notification-bot := $(call intermediates-dir-for,APPS,NotificationBot)/package.apk
     93 permission-app := $(call intermediates-dir-for,APPS,CtsPermissionApp)/package.apk
     94 usb-companion := $(call intermediates-dir-for,APPS,CtsVerifierUSBCompanion)/package.apk
     95 empty-device-admin := $(call intermediates-dir-for,APPS,CtsEmptyDeviceAdmin)/package.apk
     96 
     97 # Builds and launches CTS Verifier on a device.
     98 .PHONY: cts-verifier
     99 cts-verifier: CtsVerifier adb NotificationBot CtsPermissionApp
    100 	adb install -r $(PRODUCT_OUT)/data/app/CtsVerifier/CtsVerifier.apk \
    101 		&& adb install -r $(notification-bot) \
    102 		&& adb install -r $(permission-app) \
    103 		&& adb shell "am start -n com.android.cts.verifier/.CtsVerifierActivity"
    104 
    105 #
    106 # Creates a "cts-verifier" directory that will contain:
    107 #
    108 # 1. Out directory with a "android-cts-verifier" containing the CTS Verifier
    109 #    and other binaries it needs.
    110 #
    111 # 2. Zipped version of the android-cts-verifier directory to be included with
    112 #    the build distribution.
    113 #
    114 cts-dir := $(HOST_OUT)/cts-verifier
    115 verifier-dir-name := android-cts-verifier
    116 verifier-dir := $(cts-dir)/$(verifier-dir-name)
    117 verifier-zip-name := $(verifier-dir-name).zip
    118 verifier-zip := $(cts-dir)/$(verifier-zip-name)
    119 
    120 # turned off sensor power tests in initial L release
    121 #$(PRODUCT_OUT)/data/app/CtsVerifier.apk $(verifier-zip): $(verifier-dir)/power/execute_power_tests.py
    122 #$(PRODUCT_OUT)/data/app/CtsVerifier.apk $(verifier-zip): $(verifier-dir)/power/power_monitors/monsoon.py
    123 
    124 # Copy the necessary host-side scripts to include in the zip file:
    125 #$(verifier-dir)/power/power_monitors/monsoon.py: cts/apps/CtsVerifier/assets/scripts/power_monitors/monsoon.py | $(ACP)
    126 #	$(hide) mkdir -p $(verifier-dir)/power/power_monitors
    127 #	$(hide) $(ACP) -fp cts/apps/CtsVerifier/assets/scripts/power_monitors/*.py $(verifier-dir)/power/power_monitors/.
    128 #
    129 #$(verifier-dir)/power/execute_power_tests.py: cts/apps/CtsVerifier/assets/scripts/execute_power_tests.py | $(ACP)
    130 #	$(hide) mkdir -p $(verifier-dir)/power
    131 #	$(hide) $(ACP) -fp cts/apps/CtsVerifier/assets/scripts/execute_power_tests.py $@
    132 
    133 cts : $(verifier-zip)
    134 $(verifier-zip) : $(HOST_OUT)/CameraITS
    135 $(verifier-zip) : $(notification-bot)
    136 $(verifier-zip) : $(permission-app)
    137 $(verifier-zip) : $(usb-companion)
    138 $(verifier-zip) : $(empty-device-admin)
    139 $(verifier-zip) : $(call intermediates-dir-for,APPS,CtsVerifier)/package.apk | $(ACP)
    140 		$(hide) mkdir -p $(verifier-dir)
    141 		$(hide) $(ACP) -fp $< $(verifier-dir)/CtsVerifier.apk
    142 		$(ACP) -fp $(notification-bot) $(verifier-dir)/NotificationBot.apk
    143 		$(ACP) -fp $(permission-app) $(verifier-dir)/CtsPermissionApp.apk
    144 		$(ACP) -fp $(usb-companion) $(verifier-dir)/CtsVerifierUSBCompanion.apk
    145 		$(ACP) -fp $(empty-device-admin) $(verifier-dir)/CtsEmptyDeviceAdmin.apk
    146 		$(hide) $(ACP) -fpr $(HOST_OUT)/CameraITS $(verifier-dir)
    147 		$(hide) cd $(cts-dir) && zip -rq $(verifier-dir-name) $(verifier-dir-name)
    148 
    149 ifneq ($(filter cts, $(MAKECMDGOALS)),)
    150   $(call dist-for-goals, cts, $(verifier-zip):$(verifier-zip-name))
    151 endif
    152 
    153 include $(call all-makefiles-under,$(LOCAL_PATH))
    154