aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Liu <congxiliu@google.com>2023-06-28 19:49:58 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-06-28 19:49:58 +0000
commit5737b91a1b080ea75d8caa5bc94b599f7b86bb33 (patch)
tree6a83458e071f5958644cc26a398f5b1bddc5550c
parente71234e1fa14961c61343da6675d67d40cfc6d49 (diff)
parentff225c03a9316aec06dd854f6dd60e98636cfcce (diff)
downloadrobolectric-5737b91a1b080ea75d8caa5bc94b599f7b86bb33.tar.gz
Merge "Use new android versions support in robolectric, and new android specific SdkProvider in test/robolectric-extensions." into tm-dev
-rw-r--r--Android.bp13
-rw-r--r--robolectric/Android.bp1
-rw-r--r--robolectric/src/main/java/org/robolectric/plugins/DefaultSdkProvider.java2
-rw-r--r--shadows/versioning/Android.bp67
4 files changed, 79 insertions, 4 deletions
diff --git a/Android.bp b/Android.bp
index 319b5e3df..2487cafaf 100644
--- a/Android.bp
+++ b/Android.bp
@@ -13,7 +13,10 @@
// limitations under the License.
package {
- default_visibility: [":__subpackages__"],
+ default_visibility: [
+ "//external/robolectric:__subpackages__",
+ "//test/robolectric-extensions:__subpackages__",
+ ],
default_applicable_licenses: ["external_robolectric_license"],
}
@@ -33,7 +36,10 @@ package {
// See: http://go/android-license-faq
license {
name: "external_robolectric_license",
- visibility: [":__subpackages__"],
+ visibility: [
+ ":__subpackages__",
+ "//test/robolectric-extensions:__subpackages__",
+ ],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-MIT",
@@ -111,6 +117,7 @@ java_library_host {
visibility: [
":__subpackages__",
"//prebuilts/misc/common/robolectric",
+ "//test/robolectric-extensions:__subpackages__",
],
}
@@ -133,10 +140,12 @@ java_library_host {
name: "Robolectric_all_upstream",
static_libs: [
+ "Robolectric-aosp-plugins",
"robolectric_meta_service_file",
"Robolectric_shadows_httpclient_upstream",
"Robolectric_shadows_framework_upstream",
"Robolectric_shadows_multidex_upstream",
+ "Robolectric_shadows_versioning_upstream",
"Robolectric_robolectric_upstream",
"Robolectric_annotations_upstream",
"Robolectric_resources_upstream",
diff --git a/robolectric/Android.bp b/robolectric/Android.bp
index 139062ca6..e690895a3 100644
--- a/robolectric/Android.bp
+++ b/robolectric/Android.bp
@@ -15,6 +15,7 @@ java_library_host {
name: "Robolectric_robolectric_upstream",
libs: [
"Robolectric_shadows_framework_upstream",
+ "Robolectric_shadows_versioning_upstream",
"Robolectric_annotations_upstream",
"Robolectric_shadowapi_upstream",
"Robolectric_resources_upstream",
diff --git a/robolectric/src/main/java/org/robolectric/plugins/DefaultSdkProvider.java b/robolectric/src/main/java/org/robolectric/plugins/DefaultSdkProvider.java
index 277a6c80c..cf3af7d55 100644
--- a/robolectric/src/main/java/org/robolectric/plugins/DefaultSdkProvider.java
+++ b/robolectric/src/main/java/org/robolectric/plugins/DefaultSdkProvider.java
@@ -84,8 +84,6 @@ public class DefaultSdkProvider implements SdkProvider {
knownSdks.put(S, new DefaultSdk(S, "12", "7732740", "REL", 9));
knownSdks.put(S_V2, new DefaultSdk(S_V2, "12.1", "8229987", "REL", 9));
knownSdks.put(TIRAMISU, new DefaultSdk(TIRAMISU, "13", "9030017", "Tiramisu", 9));
- // TODO(rexhoffman): should this have a dedicated mechanism? Should we maintain a known good version?
- knownSdks.put(ShadowBuild.UPSIDE_DOWN_CAKE, new DefaultSdk(ShadowBuild.UPSIDE_DOWN_CAKE, "current", "r0", "UpsideDownCake", 9));
}
@Override
diff --git a/shadows/versioning/Android.bp b/shadows/versioning/Android.bp
new file mode 100644
index 000000000..b630e226e
--- /dev/null
+++ b/shadows/versioning/Android.bp
@@ -0,0 +1,67 @@
+//#############################################
+// Compile Robolectric utils
+//#############################################
+
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "external_robolectric_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["external_robolectric_license"],
+}
+
+java_library_host {
+ name: "Robolectric_shadows_versioning_upstream",
+ srcs: ["src/main/java/**/*.java"],
+ static_libs: [
+ "robolectric-javax.annotation-api-1.2",
+ "Robolectric_shadowapi_upstream",
+ "Robolectric_utils_upstream",
+ "jsr305",
+ ],
+ libs: ["robolectric-host-android_all_upstream"],
+}
+
+//#############################################
+// Compile Robolectric utils tests
+//#############################################
+
+java_test_host {
+ name: "Robolectric_shadows_versioning_tests_upstream",
+ srcs: ["src/test/java/**/AndroidVersionsEdgeCaseTest.java"],
+ static_libs: [
+ "Robolectric_shadows_versioning_upstream",
+ "hamcrest",
+ "guava",
+ "junit",
+ "truth-prebuilt",
+ ],
+ test_suites: ["general-tests"],
+ test_options: {
+ unit_test: false,
+ },
+}
+
+//android_robolectric_test {
+// enabled: true,
+//
+// name: "Robolectric_shadows_versioning_tests_e2e_upstream",
+//
+// srcs: [
+// "src/**/*.AndroidVersionsTest.java",
+// ],
+//
+// java_resource_dirs: ["config"],
+//
+// libs: [
+// "androidx.test.core",
+// "androidx.test.runner",
+// ],
+//
+// instrumentation_for: "MyRoboApplication",
+//
+// upstream: true,
+//}
+
+