1#
2# Copyright (C) 2016 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
17LOCAL_PATH := $(my-dir)
18
19###########################################################
20# Variant: Privileged app upgrade
21
22include $(CLEAR_VARS)
23# this needs to be a privileged application
24LOCAL_PRIVILEGED_MODULE := true
25
26LOCAL_MODULE_TAGS := optional
27LOCAL_SDK_VERSION := current
28LOCAL_PROGUARD_ENABLED := disabled
29LOCAL_DEX_PREOPT := false
30
31LOCAL_PACKAGE_NAME := CtsShimPrivUpgrade
32
33LOCAL_MANIFEST_FILE := shim_priv_upgrade/AndroidManifest.xml
34
35include $(BUILD_PACKAGE)
36my_shim_priv_upgrade_apk := $(LOCAL_BUILT_MODULE)
37
38###########################################################
39# Variant: Privileged app
40
41include $(CLEAR_VARS)
42# this needs to be a privileged application
43LOCAL_PRIVILEGED_MODULE := true
44
45LOCAL_MODULE_TAGS := optional
46LOCAL_SDK_VERSION := current
47LOCAL_PROGUARD_ENABLED := disabled
48LOCAL_DEX_PREOPT := false
49
50LOCAL_PACKAGE_NAME := CtsShimPriv
51
52# Generate the upgrade key by taking the hash of the built CtsShimPrivUpgrade apk
53gen := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME),,true)/AndroidManifest.xml
54$(gen): PRIVATE_CUSTOM_TOOL = sed -e "s/__HASH__/`sha512sum $(PRIVATE_INPUT_APK) | cut -d' ' -f1`/" $< >$@
55$(gen): PRIVATE_INPUT_APK := $(my_shim_priv_upgrade_apk)
56$(gen): $(LOCAL_PATH)/shim_priv/AndroidManifest.xml $(my_shim_priv_upgrade_apk)
57	$(transform-generated-source)
58
59my_shim_priv_upgrade_apk :=
60
61LOCAL_FULL_MANIFEST_FILE := $(gen)
62
63include $(BUILD_PACKAGE)
64
65###########################################################
66# Variant: Privileged app upgrade w/ the wrong SHA
67
68include $(CLEAR_VARS)
69# this needs to be a privileged application
70LOCAL_PRIVILEGED_MODULE := true
71
72LOCAL_MODULE_TAGS := optional
73LOCAL_SDK_VERSION := current
74LOCAL_PROGUARD_ENABLED := disabled
75LOCAL_DEX_PREOPT := false
76# anything to make this package's SHA different from CtsShimPrivUpgrade
77LOCAL_AAPT_FLAGS := --version-name WrongSHA
78
79LOCAL_PACKAGE_NAME := CtsShimPrivUpgradeWrongSHA
80
81LOCAL_MANIFEST_FILE := shim_priv_upgrade/AndroidManifest.xml
82
83include $(BUILD_PACKAGE)
84
85
86###########################################################
87# Variant: System app
88
89include $(CLEAR_VARS)
90
91LOCAL_MODULE_TAGS := optional
92LOCAL_SDK_VERSION := current
93LOCAL_PROGUARD_ENABLED := disabled
94LOCAL_DEX_PREOPT := false
95
96LOCAL_PACKAGE_NAME := CtsShim
97
98LOCAL_MANIFEST_FILE := shim/AndroidManifest.xml
99
100include $(BUILD_PACKAGE)
101
102