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
This commit is contained in:
Colin Cross
2019-05-02 13:21:41 -07:00
parent bfdebbbd3d
commit fdec9ffee0
6 changed files with 116 additions and 163 deletions

View File

@@ -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"],
}

View File

@@ -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)

View File

@@ -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"],
}

View File

@@ -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)

View File

@@ -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",
],
}

View File

@@ -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