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