tree 32d2b7dc403066ef42e89966f9fb0b0fe07c8893
parent 6abc9afb1e30bb7481f463d79a6ecad15a9810e7
author Paul Duffin <paulduffin@google.com> 1513322839 +0000
committer Paul Duffin <paulduffin@google.com> 1513322925 +0000

Add android.test.base/stubs dependency

In preparation for the removal of the non-junit classes in the
android.test.base library from the android.jar this adds a dependency
on android.test.base/stubs to ensure this code will continue to
compile.

The following change descriptions were generated automatically and so
may be a little repetitive. They are provided to give the reviewer
enough information to check the comments match what has actually been
changed and check the reasoning behind the changes.

* apps/CtsVerifier/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsVerifier's will need them in order to compile once its classes
    are removed from the test_current SDK on which it currently
    depends.

* common/device-side/util/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    compatibility-device-util's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/AppAccessData/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAppAccessData's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/AppWithData/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAppWithData's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/DocumentClient/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDocumentClient's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/EncryptionApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsEncryptionApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/ExternalStorageApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsExternalStorageApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/InstrumentationAppDiffCert/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsInstrumentationAppDiffCert's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/appsecurity/test-apps/MultiUserStorageApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsMultiUserStorageApp's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/PrivilegedUpdateApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsPrivilegedUpdateTests's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsReadExternalStorageApp's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/SplitApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSplitApp's will need them in order to compile once its classes
    are removed from the current SDK on which it currently depends.

    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSplitAppDiffRevision's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSplitAppDiffVersion's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSplitAppDiffCert's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/StorageAppA/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsStorageAppA's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/StorageAppB/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsStorageAppB's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/StorageStatsApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsStorageStatsApp's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/UsePermissionDiffCert/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsUsePermissionDiffCert's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/UsesLibraryApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsUsesLibraryApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsWriteExternalStorageApp's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/appsecurity/test-apps/keysets/testApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsKeySetTestApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/AccountCheck/Auth/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAccountCheckAuthApp's will need them in order to compile once
    its classes are removed from the test_current SDK on which it
    currently depends.

* hostsidetests/devicepolicy/app/AccountManagement/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAccountManagementDevicePolicyApp's will need them in order to
    compile once its classes are removed from the current SDK on which
    it currently depends.

* hostsidetests/devicepolicy/app/CorpOwnedManagedProfile/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsCorpOwnedManagedProfile's will need them in order to compile
    once its classes are removed from the test_current SDK on which it
    currently depends.

    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsCorpOwnedManagedProfile2's will need them in order to compile
    once its classes are removed from the test_current SDK on which it
    currently depends.

* hostsidetests/devicepolicy/app/CustomizationApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsCustomizationApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DelegateApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDelegateApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAdmin/api23/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAdminApp23's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAdmin/api24/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAdminApp24's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAdminService/package1/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAdminService1's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAdminService/package2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAdminService2's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAdminService/package3/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAdminService3's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAdminService/package4/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAdminService4's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAdminService/packageb/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAdminServiceB's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/DeviceAndProfileOwner/api23/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAndProfileOwnerApp23's will need them in order to compile
    once its classes are removed from the test_current SDK on which it
    currently depends.

* hostsidetests/devicepolicy/app/DeviceAndProfileOwner/api25/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAndProfileOwnerApp25's will need them in order to compile
    once its classes are removed from the test_current SDK on which it
    currently depends.

* hostsidetests/devicepolicy/app/DeviceAndProfileOwner/latest/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceAndProfileOwnerApp's will need them in order to compile
    once its classes are removed from the test_current SDK on which it
    currently depends.

* hostsidetests/devicepolicy/app/DeviceOwner/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceOwnerApp's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/IntentReceiver/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsIntentReceiverApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/IntentSender/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsIntentSenderApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/LauncherTests/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsLauncherAppsTests's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/ManagedProfile/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsManagedProfileApp's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* hostsidetests/devicepolicy/app/PackageInstaller/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsPackageInstallerApp's will need them in order to compile once
    its classes are removed from the test_current SDK on which it
    currently depends.

* hostsidetests/devicepolicy/app/ProfileOwner/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsProfileOwnerApp's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* hostsidetests/incident/apps/boundwidgetapp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAppWidgetApp's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* hostsidetests/net/app/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsHostsideNetworkTestsApp's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/numberblocking/app/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsHostsideNumberBlockingAppTest's will need them in order to
    compile once its classes are removed from the current SDK on which
    it currently depends.

* hostsidetests/shortcuts/deviceside/backup/launcher1/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupLauncher1's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/launcher2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupLauncher2's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/launcher3/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupLauncher3's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/launcher4new/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupLauncher4new's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/launcher4old/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupLauncher4old's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher1/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher1's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher2's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher3/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher3's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher4new/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher4new's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher4new_nobackup/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher4new_nobackup's will need them in order
    to compile once its classes are removed from the current SDK on
    which it currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher4new_nomanifest/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher4new_nomanifest's will need them in order
    to compile once its classes are removed from the current SDK on
    which it currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher4new_wrongkey/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher4new_wrongkey's will need them in order
    to compile once its classes are removed from the current SDK on
    which it currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher4old/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher4old's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/shortcuts/deviceside/backup/publisher4old_nomanifest/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutBackupPublisher4old_nomanifest's will need them in order
    to compile once its classes are removed from the current SDK on
    which it currently depends.

* hostsidetests/shortcuts/deviceside/multiuser/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutMultiuserTest's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/shortcuts/deviceside/upgrade/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutUpgradeVersion1's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutUpgradeVersion2's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/ui/control/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceTaskSwitchingControl's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* hostsidetests/usb/SerialTestApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsUsbSerialTestApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* hostsidetests/webkit/app/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsWebViewStartupApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/ProcessTest/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    ProcessTests's will need them in order to compile once its classes
    are removed from the current SDK on which it currently depends.

* tests/acceleration/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAccelerationTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/accessibility/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAccessibilityTestCases's will need them in order to compile once
    its classes are removed from the test_current SDK on which it
    currently depends.

* tests/accessibilityservice/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAccessibilityServiceTestCases's will need them in order to
    compile once its classes are removed from the test_current SDK on
    which it currently depends.

* tests/admin/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAdminTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/app/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAppTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/backup/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsBackupTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/camera/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsCameraTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/fragment/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsFragmentTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/sample/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSampleDeviceTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/sensor/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    cts-sensors-tests's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/accounts/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAccountManagerTestCases's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* tests/tests/alarmclock/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAlarmClockTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/assist/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAssistTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/bluetooth/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsBluetoothTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/calendarcommon/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsCalendarcommon2TestCases's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* tests/tests/car/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsCarTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/contactsproviderwipe/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsContactsProviderWipe's will need them in order to compile once
    its classes are removed from the test_current SDK on which it
    currently depends.

* tests/tests/database/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDatabaseTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/tests/display/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDisplayTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/dpi/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDpiTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/dpi2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDpiTestCases2's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/drm/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsDrmTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/externalservice/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsExternalServiceTestCases's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* tests/tests/graphics/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsGraphicsTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/tests/location/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    cts-location-tests's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsLocationTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/tests/mediastress/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsMediaStressTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/midi/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsMidiTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/multiuser/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsMultiUserTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/tests/nativehardware/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    cts-nativehardware-tests's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/netsecpolicy/usescleartexttraffic-false/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsNetSecPolicyUsesCleartextTrafficFalseTestCases's will need them
    in order to compile once its classes are removed from the current
    SDK on which it currently depends.

* tests/tests/netsecpolicy/usescleartexttraffic-true/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsNetSecPolicyUsesCleartextTrafficTrueTestCases's will need them
    in order to compile once its classes are removed from the current
    SDK on which it currently depends.

* tests/tests/netsecpolicy/usescleartexttraffic-unspecified/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsNetSecPolicyUsesCleartextTrafficUnspecifiedTestCases's will need
    them in order to compile once its classes are removed from the
    current SDK on which it currently depends.

* tests/tests/networksecurityconfig/networksecurityconfig-downloadmanager/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsNetSecConfigDownloadManagerTestCases's will need them in order
    to compile once its classes are removed from the current SDK on
    which it currently depends.

* tests/tests/networksecurityconfig/networksecurityconfig-resourcesrc/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsNetSecConfigResourcesSrcTestCases's will need them in order to
    compile once its classes are removed from the current SDK on which
    it currently depends.

* tests/tests/opengl/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsOpenGLTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/openglperf/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsOpenGlPerfTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/packageinstaller/adminpackageinstaller/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsAdminPackageInstallerTestCases's will need them in order to
    compile once its classes are removed from the test_current SDK on
    which it currently depends.

* tests/tests/permission2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsPermission2TestCases's will need them in order to compile once
    its classes are removed from the test_current SDK on which it
    currently depends.

* tests/tests/preference/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsPreferenceTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/preference2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsPreference2TestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/renderscript/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsRenderscriptTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/rsblas/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsRsBlasTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/rscpp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsRsCppTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/sax/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSaxTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/selinux/selinuxTargetSdk/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSelinuxTargetSdkTestCases's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* tests/tests/selinux/selinuxTargetSdk2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSelinuxTargetSdk2TestCases's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* tests/tests/shortcutmanager/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsShortcutManagerTestCases's will need them in order to compile
    once its classes are removed from the test_current SDK on which it
    currently depends.

* tests/tests/simpleperf/CtsSimpleperfDebugApp/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsSimpleperfDebugApp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/telecom/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsTelecomTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/tests/telecom2/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsTelecomTestCases2's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/telecom3/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsTelecomTestCases3's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/telephony/preconditions/app/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsTelephonyPreparerApp's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/text/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsTextTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tests/tests/theme/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsThemeDeviceTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/tv/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsTvTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/tests/uiautomation/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsUiAutomationTestCases's will need them in order to compile once
    its classes are removed from the test_current SDK on which it
    currently depends.

* tests/tests/uidisolation/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsUidIsolationTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/voiceinteraction/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsVoiceInteractionTestCases's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* tests/tests/voicesettings/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsVoiceSettingsTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/wrap/nowrap/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsWrapNoWrapTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/wrap/wrap_debug/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsWrapWrapDebugTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/tests/wrap/wrap_debug_malloc_debug/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsWrapWrapDebugMallocDebugTestCases's will need them in order to
    compile once its classes are removed from the current SDK on which
    it currently depends.

* tests/tests/wrap/wrap_nodebug/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsWrapWrapNoDebugTestCases's will need them in order to compile
    once its classes are removed from the current SDK on which it
    currently depends.

* tests/tvprovider/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsTvProviderTestCases's will need them in order to compile once
    its classes are removed from the current SDK on which it currently
    depends.

* tests/ui/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsUiDeviceTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/video/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsVideoTestCases's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tests/vr/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsVrTestCases's will need them in order to compile once its
    classes are removed from the test_current SDK on which it currently
    depends.

* tools/cts-device-info/Android.mk
    Added 'android.test.base' to LOCAL_JAVA_LIBRARIES because
    CtsDeviceInfo's will need them in order to compile once its classes
    are removed from the SDK on which it currently depends.

* tools/cts-holo-generation/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsHoloGeneration's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tools/cts-preconditions/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    CtsPreconditions's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

* tools/cts-reference-app-lib/Android.mk
    Added 'android.test.base.stubs' to LOCAL_JAVA_LIBRARIES because
    android.cts.refapp's will need them in order to compile once its
    classes are removed from the current SDK on which it currently
    depends.

Bug: 30188076
Test: make dist
Change-Id: I1d263c97b9009bad09cfea07f9c56fc0943ef203
