aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRex Hoffman <rexhoffman@google.com>2022-11-14 04:06:48 +0000
committerRex Hoffman <rexhoffman@google.com>2022-11-14 04:44:11 +0000
commitebaac47e4edcc5a04048c822bcba5bf5805e3fe6 (patch)
treeee0c523947ae85b5e040af050c27e27c49333b7a
parent8a61b59e1798d3dce5208881c005dbe9526f4043 (diff)
downloadsoong-ebaac47e4edcc5a04048c822bcba5bf5805e3fe6.tar.gz
Enable new_robolectric
Allow new robolectric to break soong's exepected machine type restrictions Test: mma in /external/robolectric Bug: 244627502 Change-Id: If58a36b2d84804d586d9c8a773e2e739867fa987 Merged-In: If58a36b2d84804d586d9c8a773e2e739867fa987
-rw-r--r--android/neverallow.go1
-rw-r--r--java/robolectric.go12
2 files changed, 12 insertions, 1 deletions
diff --git a/android/neverallow.go b/android/neverallow.go
index aa47bcaeb..5f069b877 100644
--- a/android/neverallow.go
+++ b/android/neverallow.go
@@ -154,6 +154,7 @@ func createJavaDeviceForHostRules() []Rule {
"development/build",
"external/guava",
"external/robolectric-shadows",
+ "external/robolectric",
"frameworks/layoutlib",
}
diff --git a/java/robolectric.go b/java/robolectric.go
index f71952172..80be04612 100644
--- a/java/robolectric.go
+++ b/java/robolectric.go
@@ -23,6 +23,8 @@ import (
"android/soong/android"
"android/soong/java/config"
"android/soong/tradefed"
+
+ "github.com/google/blueprint/proptools"
)
func init() {
@@ -63,6 +65,10 @@ type robolectricProperties struct {
// The version number of a robolectric prebuilt to use from prebuilts/misc/common/robolectric
// instead of the one built from source in external/robolectric-shadows.
Robolectric_prebuilt_version *string
+
+ // Use /external/robolectric rather than /external/robolectric-shadows as the version of robolectri
+ // to use. /external/robolectric closely tracks github's master, and will fully replace /external/robolectric-shadows
+ Upstream *bool
}
type robolectricTest struct {
@@ -106,7 +112,11 @@ func (r *robolectricTest) DepsMutator(ctx android.BottomUpMutatorContext) {
if v := String(r.robolectricProperties.Robolectric_prebuilt_version); v != "" {
ctx.AddVariationDependencies(nil, libTag, fmt.Sprintf(robolectricPrebuiltLibPattern, v))
} else {
- ctx.AddVariationDependencies(nil, libTag, robolectricCurrentLib)
+ if proptools.Bool(r.robolectricProperties.Upstream) {
+ ctx.AddVariationDependencies(nil, libTag, robolectricCurrentLib+"_upstream")
+ } else {
+ ctx.AddVariationDependencies(nil, libTag, robolectricCurrentLib)
+ }
}
ctx.AddVariationDependencies(nil, libTag, robolectricDefaultLibs...)