Skip to content

Commit

Permalink
Revert "Remove legacy-test and legacy-android-test targets"
Browse files Browse the repository at this point in the history
This reverts commit 3b0be60.

Reason for revert: Broken build

Change-Id: I71270c7b47163ab7147029f2d3961d1848fdd9eb
  • Loading branch information
Jakub Gielzak committed Feb 18, 2019
1 parent 3b0be60 commit 7d7af10
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 7 deletions.
19 changes: 16 additions & 3 deletions test-base/Android.bp
Expand Up @@ -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,
Expand All @@ -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
Expand All @@ -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",

Expand Down
36 changes: 36 additions & 0 deletions 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",
],
}
25 changes: 22 additions & 3 deletions test-legacy/Android.mk
Expand Up @@ -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)

Expand Down
16 changes: 16 additions & 0 deletions test-mock/Android.bp
Expand Up @@ -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",
],
}
2 changes: 1 addition & 1 deletion test-runner/Android.bp
Expand Up @@ -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",
Expand Down

0 comments on commit 7d7af10

Please sign in to comment.