Merge "Revert "Remove legacy-test and legacy-android-test targets"" am: 049c1589ee

am: 7f997d4cfc

Change-Id: If998990b94bd36f0ffae26dede85df8ad079093e
This commit is contained in:
Jakub Gielzak
2019-02-18 10:42:20 -08:00
committed by android-build-merger
5 changed files with 91 additions and 7 deletions

View File

@@ -44,7 +44,7 @@ java_sdk_library {
// ==========================================
// This is only intended for inclusion in the android.test.runner-minus-junit,
// robolectric_android-all-stub and repackaged.android.test.* libraries.
// Must not be used elsewhere.
// Must not be used elewhere.
java_library_static {
name: "android.test.base_static",
installable: false,
@@ -61,6 +61,19 @@ java_library_static {
sdk_version: "current",
}
// Build the legacy-test library
// =============================
// This contains the junit.framework and android.test classes that were in
// Android API level 25 excluding those from android.test.runner.
// Also contains the com.android.internal.util.Predicate[s] classes.
java_library {
name: "legacy-test",
installable: true,
sdk_version: "current",
static_libs: ["android.test.base_static"],
}
// Build the repackaged.android.test.base library
// ==============================================
// This contains repackaged versions of the classes from
@@ -80,8 +93,8 @@ java_library_static {
// ===============================================
// This contains the android.test classes from android.test.base plus
// the com.android.internal.util.Predicate[s] classes. This is only
// intended for inclusion in android.test.legacy and must not be used
// elsewhere.
// intended for inclusion in the android.test.legacy and
// legacy-android-test static libraries and must not be used elsewhere.
java_library_static {
name: "android.test.base-minus-junit",

36
test-legacy/Android.bp Normal file
View File

@@ -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",
],
}

View File

@@ -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)

View File

@@ -30,3 +30,19 @@ java_sdk_library {
srcs_lib_whitelist_pkgs: ["android"],
compile_dex: true,
}
// Build the android.test.mock_static library
// ==========================================
// This is only intended for inclusion in the legacy-android-test.
// Must not be used elewhere.
java_library_static {
name: "android.test.mock_static",
java_version: "1.8",
srcs: ["src/**/*.java"],
no_framework_libs: true,
libs: [
"framework",
],
}

View File

@@ -45,7 +45,7 @@ java_sdk_library {
// Build the android.test.runner-minus-junit library
// =================================================
// This is only intended for inclusion in the android.test.legacy static
// This is only intended for inclusion in the legacy-android-test static
// library and must not be used elsewhere.
java_library {
name: "android.test.runner-minus-junit",