From f71d5b5b18eb0b8c0b383b697bc3d507d65a5c7f Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Tue, 9 May 2017 15:52:46 +0100 Subject: [PATCH] Moved c.a.i.u.Predicate[s] into legacy-test These classes are only used by android.test classes that are being removed. As their name suggests they should not be in the Android API at all so it makes sense to remove them. Especially as there is java.lang.function.Predicate available now. It appears as though Predicate was only added in to the API because it was used by a method in the API as the directory in which it and Predicates live was not on the list of classes to explicitly index. Moving it into legacy-test meant that they are now being indexed explicitly which means that Predicates needs to be hidden. Keeps running the tests as part of the existing target. At runtime apps targeted at the API version before these are removed will have the legacy-test library automatically added to their classpath so they should see no effect. Apps that target a later API will have to include those classes from the android.legacy.test.jar which will contain all the android.test classes that depend on it as well. Bug: 30188076 Test: make checkbuild Change-Id: I6f6f5f16fe93bd80227a450c6254166632fc6813 --- core/tests/utiltests/Android.mk | 4 +++- legacy-test/Android.mk | 21 +++++++++++++++++-- .../com/android/internal/util/Predicate.java | 0 .../com/android/internal/util/Predicates.java | 2 ++ .../android/internal/util/PredicatesTest.java | 0 5 files changed, 24 insertions(+), 3 deletions(-) rename {core/java => legacy-test/src}/com/android/internal/util/Predicate.java (100%) rename {core/java => legacy-test/src}/com/android/internal/util/Predicates.java (99%) rename {core/tests/utiltests/src => legacy-test/tests}/com/android/internal/util/PredicatesTest.java (100%) diff --git a/core/tests/utiltests/Android.mk b/core/tests/utiltests/Android.mk index a4b09166bb3b0..f2e02e332bfce 100644 --- a/core/tests/utiltests/Android.mk +++ b/core/tests/utiltests/Android.mk @@ -17,7 +17,8 @@ LOCAL_JNI_SHARED_LIBRARIES := libmemoryintarraytest libcutils libc++ LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-test \ frameworks-base-testutils \ - mockito-target-minus-junit4 + mockito-target-minus-junit4 \ + legacy-android-tests LOCAL_JAVA_LIBRARIES := android.test.runner @@ -28,3 +29,4 @@ LOCAL_CERTIFICATE := platform LOCAL_COMPATIBILITY_SUITE := device-tests include $(BUILD_PACKAGE) + diff --git a/legacy-test/Android.mk b/legacy-test/Android.mk index 0835cadbe6982..8efda2ad0c203 100644 --- a/legacy-test/Android.mk +++ b/legacy-test/Android.mk @@ -20,9 +20,11 @@ LOCAL_PATH:= $(call my-dir) # ============================= # 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. include $(CLEAR_VARS) LOCAL_SRC_FILES := $(call all-java-files-under, src) + LOCAL_MODULE := legacy-test LOCAL_NO_STANDARD_LIBRARIES := true LOCAL_JAVA_LIBRARIES := core-oj core-libart framework @@ -30,20 +32,35 @@ LOCAL_JAVA_LIBRARIES := core-oj core-libart framework include $(BUILD_JAVA_LIBRARY) # 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. include $(CLEAR_VARS) LOCAL_SRC_FILES := \ $(call all-java-files-under, src/android) \ - $(call all-java-files-under, ../test-runner/src/android) + $(call all-java-files-under, ../test-runner/src/android) \ + $(call all-java-files-under, src/com) LOCAL_MODULE := legacy-android-test LOCAL_NO_STANDARD_LIBRARIES := true LOCAL_JAVA_LIBRARIES := core-oj core-libart framework junit include $(BUILD_STATIC_JAVA_LIBRARY) +# Build the legacy-android-tests library +# ====================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + $(call all-java-files-under, tests) +LOCAL_MODULE := legacy-android-tests +LOCAL_NO_STANDARD_LIBRARIES := true +LOCAL_JAVA_LIBRARIES := core-oj core-libart framework junit +LOCAL_STATIC_JAVA_LIBRARIES := legacy-android-test + +include $(BUILD_STATIC_JAVA_LIBRARY) + ifeq ($(HOST_OS),linux) # Build the legacy-performance-test-hostdex library # ================================================= diff --git a/core/java/com/android/internal/util/Predicate.java b/legacy-test/src/com/android/internal/util/Predicate.java similarity index 100% rename from core/java/com/android/internal/util/Predicate.java rename to legacy-test/src/com/android/internal/util/Predicate.java diff --git a/core/java/com/android/internal/util/Predicates.java b/legacy-test/src/com/android/internal/util/Predicates.java similarity index 99% rename from core/java/com/android/internal/util/Predicates.java rename to legacy-test/src/com/android/internal/util/Predicates.java index c006564f129a4..fe1ff1529138f 100644 --- a/core/java/com/android/internal/util/Predicates.java +++ b/legacy-test/src/com/android/internal/util/Predicates.java @@ -21,6 +21,8 @@ import java.util.Arrays; /** * Predicates contains static methods for creating the standard set of * {@code Predicate} objects. + * + * @hide */ public class Predicates { diff --git a/core/tests/utiltests/src/com/android/internal/util/PredicatesTest.java b/legacy-test/tests/com/android/internal/util/PredicatesTest.java similarity index 100% rename from core/tests/utiltests/src/com/android/internal/util/PredicatesTest.java rename to legacy-test/tests/com/android/internal/util/PredicatesTest.java