diff options
author | Rex Hoffman <rexhoffman@google.com> | 2022-11-14 04:06:48 +0000 |
---|---|---|
committer | Rex Hoffman <rexhoffman@google.com> | 2022-11-14 04:44:11 +0000 |
commit | ebaac47e4edcc5a04048c822bcba5bf5805e3fe6 (patch) | |
tree | ee0c523947ae85b5e040af050c27e27c49333b7a | |
parent | 8a61b59e1798d3dce5208881c005dbe9526f4043 (diff) | |
download | soong-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.go | 1 | ||||
-rw-r--r-- | java/robolectric.go | 12 |
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...) |