From 24162fc52c739b6d71adc8e0f9bc3768a24c5805 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Tue, 10 Jan 2012 15:03:28 -0800 Subject: [PATCH] Build all test apks as raw resource in FrameworksCoreTests. Bug: 5848975 Change-Id: I395013ded1c29e0914f72e03d0abd60bb4a7973a --- core/tests/coretests/Android.mk | 31 ++++++++++++++++-- core/tests/coretests/apks/Android.mk | 2 ++ .../coretests/apks/FrameworkCoreTests_apk.mk | 12 +++++++ .../apks/install_decl_perm/Android.mk | 7 ++-- .../apks/install_loc_auto/Android.mk | 7 ++-- .../apks/install_loc_internal/Android.mk | 7 ++-- .../apks/install_loc_sdcard/Android.mk | 7 ++-- .../apks/install_loc_unspecified/Android.mk | 7 ++-- .../apks/install_use_perm_good/Android.mk | 7 ++-- .../apks/install_uses_feature/Android.mk | 7 ++-- .../apks/install_verifier_bad/Android.mk | 7 ++-- .../apks/install_verifier_good/Android.mk | 6 ++-- .../tests/coretests/res/raw/install_decl_perm | Bin 3378 -> 0 bytes core/tests/coretests/res/raw/install_loc_auto | Bin 3102 -> 0 bytes .../coretests/res/raw/install_loc_internal | Bin 3106 -> 0 bytes .../coretests/res/raw/install_loc_sdcard | Bin 3102 -> 0 bytes .../coretests/res/raw/install_loc_unspecified | Bin 3078 -> 0 bytes .../coretests/res/raw/install_use_perm_good | Bin 3222 -> 0 bytes .../coretests/res/raw/install_uses_feature | Bin 3178 -> 0 bytes 19 files changed, 60 insertions(+), 47 deletions(-) create mode 100644 core/tests/coretests/apks/FrameworkCoreTests_apk.mk delete mode 100644 core/tests/coretests/res/raw/install_decl_perm delete mode 100644 core/tests/coretests/res/raw/install_loc_auto delete mode 100644 core/tests/coretests/res/raw/install_loc_internal delete mode 100644 core/tests/coretests/res/raw/install_loc_sdcard delete mode 100644 core/tests/coretests/res/raw/install_loc_unspecified delete mode 100644 core/tests/coretests/res/raw/install_use_perm_good delete mode 100644 core/tests/coretests/res/raw/install_uses_feature diff --git a/core/tests/coretests/Android.mk b/core/tests/coretests/Android.mk index b2ebb08a8f6aa..b81f7744cf375 100644 --- a/core/tests/coretests/Android.mk +++ b/core/tests/coretests/Android.mk @@ -1,4 +1,14 @@ -LOCAL_PATH:= $(call my-dir) +ACTUAL_LOCAL_PATH := $(call my-dir) + +# this var will hold all the test apk module names later. +FrameworkCoreTests_all_apks := + +# We have to include the subdir makefiles first +# so that FrameworkCoreTests_all_apks will be populated correctly. +include $(call all-makefiles-under,$(ACTUAL_LOCAL_PATH)) + +LOCAL_PATH := $(ACTUAL_LOCAL_PATH) + include $(CLEAR_VARS) # We only want this apk build for tests. @@ -18,6 +28,21 @@ LOCAL_PACKAGE_NAME := FrameworksCoreTests LOCAL_CERTIFICATE := platform -include $(BUILD_PACKAGE) +# intermediate dir to include all the test apks as raw resource +FrameworkCoreTests_intermediates := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/test_apks/res +LOCAL_RESOURCE_DIR := $(FrameworkCoreTests_intermediates) $(LOCAL_PATH)/res -include $(call all-makefiles-under,$(LOCAL_PATH)) +include $(BUILD_PACKAGE) +# Rules to copy all the test apks to the intermediate raw resource directory +FrameworkCoreTests_all_apks_res := $(addprefix $(FrameworkCoreTests_intermediates)/raw/, \ + $(foreach a, $(FrameworkCoreTests_all_apks), $(patsubst FrameworkCoreTests_%,%,$(a)))) + +$(FrameworkCoreTests_all_apks_res): $(FrameworkCoreTests_intermediates)/raw/%: $(call intermediates-dir-for,APPS,FrameworkCoreTests_%)/package.apk | $(ACP) + $(call copy-file-to-new-target) + +# Use R_file_stamp as dependency because we want the test apks in place before the R.java is generated. +$(R_file_stamp) : $(FrameworkCoreTests_all_apks_res) + +FrameworkCoreTests_all_apks := +FrameworkCoreTests_intermediates := +FrameworkCoreTests_all_apks_res := diff --git a/core/tests/coretests/apks/Android.mk b/core/tests/coretests/apks/Android.mk index 4670e219db4a7..98c0c2aee38b7 100644 --- a/core/tests/coretests/apks/Android.mk +++ b/core/tests/coretests/apks/Android.mk @@ -1,5 +1,7 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) +FrameworkCoreTests_BUILD_PACKAGE := $(LOCAL_PATH)/FrameworkCoreTests_apk.mk + # build sub packages include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/core/tests/coretests/apks/FrameworkCoreTests_apk.mk b/core/tests/coretests/apks/FrameworkCoreTests_apk.mk new file mode 100644 index 0000000000000..ac545cad2485e --- /dev/null +++ b/core/tests/coretests/apks/FrameworkCoreTests_apk.mk @@ -0,0 +1,12 @@ + +LOCAL_MODULE_TAGS := tests + +# Disable dexpreopt. +LOCAL_DEX_PREOPT := false + +# Make sure every package name gets the FrameworkCoreTests_ prefix. +LOCAL_PACKAGE_NAME := FrameworkCoreTests_$(LOCAL_PACKAGE_NAME) + +FrameworkCoreTests_all_apks += $(LOCAL_PACKAGE_NAME) + +include $(BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_decl_perm/Android.mk b/core/tests/coretests/apks/install_decl_perm/Android.mk index c38e98119f41d..86370c8017a5b 100644 --- a/core/tests/coretests/apks/install_decl_perm/Android.mk +++ b/core/tests/coretests/apks/install_decl_perm/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_decl_perm - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_decl_perm +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_loc_auto/Android.mk b/core/tests/coretests/apks/install_loc_auto/Android.mk index 2deb978262bd3..6435f3624a158 100644 --- a/core/tests/coretests/apks/install_loc_auto/Android.mk +++ b/core/tests/coretests/apks/install_loc_auto/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_loc_auto - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_loc_auto +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_loc_internal/Android.mk b/core/tests/coretests/apks/install_loc_internal/Android.mk index 784bf0a014632..8cc8b8e0e7788 100644 --- a/core/tests/coretests/apks/install_loc_internal/Android.mk +++ b/core/tests/coretests/apks/install_loc_internal/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_loc_internal - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_loc_internal +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_loc_sdcard/Android.mk b/core/tests/coretests/apks/install_loc_sdcard/Android.mk index 4eea32256b8df..e1411c2276a51 100644 --- a/core/tests/coretests/apks/install_loc_sdcard/Android.mk +++ b/core/tests/coretests/apks/install_loc_sdcard/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_loc_sdcard - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_loc_sdcard +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_loc_unspecified/Android.mk b/core/tests/coretests/apks/install_loc_unspecified/Android.mk index 206c99fe0076e..0741d04b61d55 100644 --- a/core/tests/coretests/apks/install_loc_unspecified/Android.mk +++ b/core/tests/coretests/apks/install_loc_unspecified/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_loc_unspecified - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_loc_unspecified +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_use_perm_good/Android.mk b/core/tests/coretests/apks/install_use_perm_good/Android.mk index 1a07fc845826f..e2661a13793ab 100644 --- a/core/tests/coretests/apks/install_use_perm_good/Android.mk +++ b/core/tests/coretests/apks/install_use_perm_good/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_use_perm_good - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_use_perm_good +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_uses_feature/Android.mk b/core/tests/coretests/apks/install_uses_feature/Android.mk index c0a5067f168df..b60d734fe635a 100644 --- a/core/tests/coretests/apks/install_uses_feature/Android.mk +++ b/core/tests/coretests/apks/install_uses_feature/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_uses_feature - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_uses_feature +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_verifier_bad/Android.mk b/core/tests/coretests/apks/install_verifier_bad/Android.mk index b50cfd0410d1a..a6f9d5bac7017 100644 --- a/core/tests/coretests/apks/install_verifier_bad/Android.mk +++ b/core/tests/coretests/apks/install_verifier_bad/Android.mk @@ -1,11 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_verifier_bad - -include $(BUILD_PACKAGE) +LOCAL_PACKAGE_NAME := install_verifier_bad +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/apks/install_verifier_good/Android.mk b/core/tests/coretests/apks/install_verifier_good/Android.mk index a48a80e2c92e8..6f2d44f611145 100644 --- a/core/tests/coretests/apks/install_verifier_good/Android.mk +++ b/core/tests/coretests/apks/install_verifier_good/Android.mk @@ -1,10 +1,8 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := tests - LOCAL_SRC_FILES := $(call all-subdir-java-files) -LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_verifier_good +LOCAL_PACKAGE_NAME := install_verifier_good -include $(BUILD_PACKAGE) +include $(FrameworkCoreTests_BUILD_PACKAGE) diff --git a/core/tests/coretests/res/raw/install_decl_perm b/core/tests/coretests/res/raw/install_decl_perm deleted file mode 100644 index af05d81fbedf4b1805deda194b09a6ff16189b6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3378 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 diff --git a/core/tests/coretests/res/raw/install_loc_unspecified b/core/tests/coretests/res/raw/install_loc_unspecified deleted file mode 100644 index 06981f41270bf8b849ea84e59c43e0b68737db69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3078 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