summaryrefslogtreecommitdiff
path: root/test-legacy
diff options
context:
space:
mode:
authorJakub Gielzak <jgielzak@google.com>2019-02-18 18:24:17 +0000
committerJakub Gielzak <jgielzak@google.com>2019-02-18 18:24:17 +0000
commit7d7af10dc9057a49c617c7c97c174e8b4ec5008c (patch)
treeae7066b1b8e2cbee81cc863f86600cf42e205433 /test-legacy
parent3b0be60307cc6063795f8cd32356745ee371e757 (diff)
Revert "Remove legacy-test and legacy-android-test targets"
This reverts commit 3b0be60307cc6063795f8cd32356745ee371e757. Reason for revert: Broken build Change-Id: I71270c7b47163ab7147029f2d3961d1848fdd9eb
Diffstat (limited to 'test-legacy')
-rw-r--r--test-legacy/Android.bp36
-rw-r--r--test-legacy/Android.mk25
2 files changed, 58 insertions, 3 deletions
diff --git a/test-legacy/Android.bp b/test-legacy/Android.bp
new file mode 100644
index 000000000000..a69f422b3bdb
--- /dev/null
+++ b/test-legacy/Android.bp
@@ -0,0 +1,36 @@
+//
+// 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.
+//
+
+// Build the legacy-android-test library
+// =====================================
+// This contains the android.test classes that were in Android API level 25,
+// including those from android.test.runner.
+// Also contains the com.android.internal.util.Predicate[s] classes.
+java_library_static {
+ name: "legacy-android-test",
+
+ static_libs: [
+ "android.test.base-minus-junit",
+ "android.test.runner-minus-junit",
+ "android.test.mock_static",
+ ],
+
+ no_framework_libs: true,
+ libs: [
+ "framework",
+ "junit",
+ ],
+}
diff --git a/test-legacy/Android.mk b/test-legacy/Android.mk
index af26c5b80717..da47de0a3d35 100644
--- a/test-legacy/Android.mk
+++ b/test-legacy/Android.mk
@@ -24,16 +24,35 @@ ifeq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
# Built against the SDK so that it can be statically included in APKs
# without breaking link type checks.
#
+# This builds directly from the source rather than simply statically
+# including the android.test.base-minus-junit and
+# android.test.runner-minus-junit libraries because the latter library
+# cannot itself be built against the SDK. That is because it uses on
+# an internal method (setTestContext) on the AndroidTestCase class.
+# That class is provided by both the android.test.base-minus-junit and
+# the current SDK and as the latter is first on the classpath its
+# version is used. Unfortunately, it does not provide the internal
+# method and so compilation fails.
+#
+# Building from source avoids that because the compiler will use the
+# source version of AndroidTestCase instead of the one from the current
+# SDK.
+#
+# The use of the internal method does not prevent this from being
+# statically included because the class that provides the method is
+# also included in this library.
include $(CLEAR_VARS)
LOCAL_MODULE := android.test.legacy
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under, ../test-base/src/android) \
+ $(call all-java-files-under, ../test-base/src/com) \
+ $(call all-java-files-under, ../test-runner/src/android) \
+
LOCAL_SDK_VERSION := current
LOCAL_JAVA_LIBRARIES := junit android.test.mock.stubs
-LOCAL_STATIC_JAVA_LIBRARIES := \
- android.test.base-minus-junit \
- android.test.runner-minus-junit \
include $(BUILD_STATIC_JAVA_LIBRARY)