| // 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. # |
| //########################################################### |
| |
| package { |
| // See: http://go/android-license-faq |
| // A large-scale-change added 'default_applicable_licenses' to import |
| // all of the 'license_kinds' from "frameworks_base_license" |
| // to get the below license kinds: |
| // SPDX-license-identifier-Apache-2.0 |
| default_applicable_licenses: ["frameworks_base_license"], |
| } |
| |
| android_app { |
| name: "SettingsLibShell", |
| use_resource_processor: true, |
| defaults: ["SettingsLibDefaults"], |
| platform_apis: true, |
| |
| privileged: true, |
| |
| resource_dirs: ["res"], |
| } |
| |
| //########################################################### |
| // SettingsLib Robolectric test target. # |
| //########################################################### |
| android_robolectric_test { |
| name: "SettingsLibRoboTests", |
| srcs: ["src/**/*.java"], |
| static_libs: [ |
| "Settings_robolectric_meta_service_file", |
| "Robolectric_shadows_androidx_fragment_upstream", |
| "SettingsLib-robo-testutils", |
| "androidx.fragment_fragment", |
| "androidx.test.core", |
| "androidx.core_core", |
| "flag-junit", |
| "settingslib_flags_lib", |
| "testng", // TODO: remove once JUnit on Android provides assertThrows |
| ], |
| java_resource_dirs: ["config"], |
| instrumentation_for: "SettingsLibShell", |
| coverage_libs: ["SettingsLib"], |
| test_options: { |
| timeout: 36000, |
| }, |
| upstream: true, |
| } |
| |
| java_genrule { |
| name: "Settings_robolectric_meta_service_file", |
| out: ["robolectric_meta_service_file.jar"], |
| tools: ["soong_zip"], |
| cmd: "mkdir -p $(genDir)/META-INF/services/ && touch $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider &&" + |
| "echo -e 'org.robolectric.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " + |
| "echo -e 'org.robolectric.shadows.multidex.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " + |
| "echo -e 'org.robolectric.shadows.httpclient.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " + |
| //"echo -e 'com.android.settings.testutils.shadow.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " + |
| "echo -e 'com.android.settingslib.testutils.shadow.Shadows' >> $(genDir)/META-INF/services/org.robolectric.internal.ShadowProvider && " + |
| "$(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)/META-INF/services/", |
| } |
| |
| java_library { |
| name: "SettingsLib-robo-testutils", |
| srcs: [ |
| "testutils/com/android/settingslib/testutils/**/*.java", |
| ], |
| javacflags: [ |
| "-Aorg.robolectric.annotation.processing.shadowPackage=com.android.settingslib.testutils.shadow", |
| "-Aorg.robolectric.annotation.processing.sdkCheckMode=ERROR", |
| // Uncomment the below to debug annotation processors not firing. |
| //"-verbose", |
| //"-XprintRounds", |
| //"-XprintProcessorInfo", |
| //"-Xlint", |
| //"-J-verbose", |
| ], |
| plugins: [ |
| "auto_value_plugin_1.9", |
| "auto_value_builder_plugin_1.9", |
| "Robolectric_processor_upstream", |
| ], |
| libs: [ |
| "Robolectric_all-target_upstream", |
| "mockito-robolectric-prebuilt", |
| "truth", |
| ], |
| } |