Convert SettingsLib tests to Android.bp

See build/soong/README.md for more information.

Bug: 122332340
Test: m RunSettingsRoboTests
Test: atest SettingsLibTests (same failures before and after)
Change-Id: I69b5b2c6c22f93a31ef978710867226cb1ba3db0
diff --git a/packages/SettingsLib/search/Android.bp b/packages/SettingsLib/search/Android.bp
new file mode 100644
index 0000000..15c8367
--- /dev/null
+++ b/packages/SettingsLib/search/Android.bp
@@ -0,0 +1,23 @@
+java_library {
+    name: "SettingsLib-search",
+    host_supported: true,
+    srcs: ["src/**/*.java"],
+}
+
+java_plugin {
+    name: "SettingsLib-annotation-processor",
+    processor_class: "com.android.settingslib.search.IndexableProcessor",
+    static_libs: [
+        "javapoet-prebuilt-jar",
+        "SettingsLib-search",
+    ],
+    srcs: ["processor-src/**/*.java"],
+    java_resource_dirs: ["resources"],
+}
+
+// NOTE: Keep this module in sync with ./common.mk
+java_defaults {
+    name: "SettingsLib-search-defaults",
+    plugins: ["SettingsLib-annotation-processor"],
+    static_libs: ["SettingsLib-search"],
+}
diff --git a/packages/SettingsLib/search/Android.mk b/packages/SettingsLib/search/Android.mk
deleted file mode 100644
index 14f9626..0000000
--- a/packages/SettingsLib/search/Android.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE = SettingsLib-search
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_RESOURCE_DIR := \
-    $(LOCAL_PATH)/main/res
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE = SettingsLib-search-host
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE = SettingsLib-annotation-processor
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    javapoet-prebuilt-jar \
-    SettingsLib-search-host
-
-LOCAL_SRC_FILES := $(call all-java-files-under, processor-src)
-
-LOCAL_JAVA_RESOURCE_DIRS := \
-    resources
-
-include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/packages/SettingsLib/tests/integ/Android.bp b/packages/SettingsLib/tests/integ/Android.bp
new file mode 100644
index 0000000..4600793
--- /dev/null
+++ b/packages/SettingsLib/tests/integ/Android.bp
@@ -0,0 +1,40 @@
+// Copyright (C) 2015 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.
+
+android_test {
+    name: "SettingsLibTests",
+    defaults: ["SettingsLibDefaults"],
+
+    certificate: "platform",
+
+    srcs: ["src/**/*.java"],
+
+    libs: [
+        "android.test.runner",
+        "telephony-common",
+        "android.test.base",
+    ],
+
+    platform_apis: true,
+    test_suites: ["device-tests"],
+
+    static_libs: [
+        "androidx.test.rules",
+        "androidx.test.espresso.core",
+        "mockito-target-minus-junit4",
+        "truth-prebuilt",
+    ],
+
+    dxflags: ["--multi-dex"],
+}
diff --git a/packages/SettingsLib/tests/integ/Android.mk b/packages/SettingsLib/tests/integ/Android.mk
deleted file mode 100644
index 4a814df..0000000
--- a/packages/SettingsLib/tests/integ/Android.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (C) 2015 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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_LIBRARIES := android.test.runner telephony-common android.test.base
-
-LOCAL_JACK_FLAGS := --multi-dex native
-
-LOCAL_PACKAGE_NAME := SettingsLibTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-LOCAL_USE_AAPT2 := true
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    androidx.test.espresso.core \
-    mockito-target-minus-junit4 \
-    truth-prebuilt
-
-# Code coverage puts us over the dex limit, so enable multi-dex for coverage-enabled builds
-ifeq (true,$(EMMA_INSTRUMENT))
-LOCAL_JACK_FLAGS := --multi-dex native
-LOCAL_DX_FLAGS := --multi-dex
-endif # EMMA_INSTRUMENT
-
-include frameworks/base/packages/SettingsLib/common.mk
-
-include $(BUILD_PACKAGE)
diff --git a/packages/SettingsLib/tests/robotests/Android.bp b/packages/SettingsLib/tests/robotests/Android.bp
new file mode 100644
index 0000000..6386921
--- /dev/null
+++ b/packages/SettingsLib/tests/robotests/Android.bp
@@ -0,0 +1,53 @@
+// Copyright (C) 2016 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.
+
+//###########################################################
+// SettingsLib Shell app just for Robolectric test target.  #
+//###########################################################
+
+android_app {
+    name: "SettingsLibShell",
+    defaults: ["SettingsLibDefaults"],
+    platform_apis: true,
+
+    privileged: true,
+
+    resource_dirs: ["res"],
+}
+
+//###########################################################
+// SettingsLib Robolectric test target.                     #
+//###########################################################
+android_robolectric_test {
+    name: "SettingsLibRoboTests",
+    srcs: ["src/**/*.java"],
+    java_resource_dirs: ["config"],
+    instrumentation_for: "SettingsLibShell",
+    coverage_libs: ["SettingsLib"],
+    test_options: {
+        timeout: "36000",
+    },
+}
+
+java_library {
+    name: "SettingsLib-robo-testutils",
+    srcs: [
+        "src/com/android/settingslib/testutils/**/*.java",
+    ],
+
+    libs: [
+        "Robolectric_all-target",
+        "truth-prebuilt",
+    ],
+}
diff --git a/packages/SettingsLib/tests/robotests/Android.mk b/packages/SettingsLib/tests/robotests/Android.mk
deleted file mode 100644
index cfa067f..0000000
--- a/packages/SettingsLib/tests/robotests/Android.mk
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright (C) 2016 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.
-
-############################################################
-# SettingsLib Shell app just for Robolectric test target.  #
-############################################################
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_PACKAGE_NAME := SettingsLibShell
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_PRIVILEGED_MODULE := true
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_USE_AAPT2 := true
-
-include frameworks/base/packages/SettingsLib/common.mk
-
-include $(BUILD_PACKAGE)
-
-############################################################
-# SettingsLib Robolectric test target.                     #
-############################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := SettingsLibRoboTests
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_RESOURCE_DIRS := config
-
-LOCAL_JAVA_LIBRARIES := \
-    robolectric_android-all-stub \
-    Robolectric_all-target \
-    mockito-robolectric-prebuilt \
-    truth-prebuilt
-
-LOCAL_INSTRUMENTATION_FOR := SettingsLibShell
-
-LOCAL_MODULE_TAGS := optional
-
-# Generate test_config.properties
-include external/robolectric-shadows/gen_test_config.mk
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-#############################################################
-# SettingsLib runner target to run the previous target.     #
-#############################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := RunSettingsLibRoboTests
-
-LOCAL_JAVA_LIBRARIES := \
-    SettingsLibRoboTests \
-    robolectric_android-all-stub \
-    Robolectric_all-target \
-    mockito-robolectric-prebuilt \
-    truth-prebuilt
-
-LOCAL_TEST_PACKAGE := SettingsLibShell
-
-LOCAL_ROBOTEST_TIMEOUT := 36000
-
-include external/robolectric-shadows/run_robotests.mk
\ No newline at end of file