diff options
author | 2021-03-22 13:41:36 +0000 | |
---|---|---|
committer | 2021-03-22 22:09:53 +0000 | |
commit | 42da69d78439ffaaa1ce857837e5123360bd2c22 (patch) | |
tree | d4cd7e65fcacfa2d805e71fdd8da05d7c4e75cfa | |
parent | 97d8b40fec62135fde2c3aa40d453a16c1f4eda8 (diff) |
Add preparer for overlay pre-singleton registration
It appears as though this is the first pre-singleton type to actually
be registered with the InitRegistrationContext as it failed due to an
uninitialized map, so this change also fixes that.
Bug: 182885307
Test: m nothing
Change-Id: Ibbf6d0db5f3c2fcc89291a16aa5f16b8b5009bd3
-rw-r--r-- | android/register.go | 5 | ||||
-rw-r--r-- | java/android_resources.go | 5 | ||||
-rw-r--r-- | java/java_test.go | 2 | ||||
-rw-r--r-- | java/testing.go | 2 |
4 files changed, 10 insertions, 4 deletions
diff --git a/android/register.go b/android/register.go index c9e66e966..900edfa51 100644 --- a/android/register.go +++ b/android/register.go @@ -263,8 +263,9 @@ type RegistrationContext interface { // ctx := android.NewTestContext(config) // RegisterBuildComponents(ctx) var InitRegistrationContext RegistrationContext = &initRegistrationContext{ - moduleTypes: make(map[string]ModuleFactory), - singletonTypes: make(map[string]SingletonFactory), + moduleTypes: make(map[string]ModuleFactory), + singletonTypes: make(map[string]SingletonFactory), + preSingletonTypes: make(map[string]SingletonFactory), } // Make sure the TestContext implements RegistrationContext. diff --git a/java/android_resources.go b/java/android_resources.go index 4d420cfed..6864ebb90 100644 --- a/java/android_resources.go +++ b/java/android_resources.go @@ -22,8 +22,11 @@ import ( ) func init() { - android.RegisterPreSingletonType("overlay", OverlaySingletonFactory) + registerOverlayBuildComponents(android.InitRegistrationContext) +} +func registerOverlayBuildComponents(ctx android.RegistrationContext) { + ctx.RegisterPreSingletonType("overlay", OverlaySingletonFactory) } var androidResourceIgnoreFilenames = []string{ diff --git a/java/java_test.go b/java/java_test.go index 913ed8713..6bebf3729 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -71,11 +71,11 @@ var prepareForJavaTest = android.GroupFixturePreparers( cc.PrepareForTestWithCcBuildComponents, // Include all the default java modules. PrepareForTestWithJavaDefaultModules, + PrepareForTestWithOverlayBuildComponents, python.PrepareForTestWithPythonBuildComponents, android.FixtureRegisterWithContext(func(ctx android.RegistrationContext) { ctx.RegisterModuleType("java_plugin", PluginFactory) - ctx.RegisterPreSingletonType("overlay", OverlaySingletonFactory) ctx.RegisterPreSingletonType("sdk_versions", sdkPreSingletonFactory) }), dexpreopt.PrepareForTestWithDexpreopt, diff --git a/java/testing.go b/java/testing.go index 4b8b84924..2343294c6 100644 --- a/java/testing.go +++ b/java/testing.go @@ -54,6 +54,8 @@ var PrepareForTestWithJavaDefaultModules = android.GroupFixturePreparers( android.FixtureAddTextFile(defaultJavaDir+"/Android.bp", GatherRequiredDepsForTest()), ) +var PrepareForTestWithOverlayBuildComponents = android.FixtureRegisterWithContext(registerOverlayBuildComponents) + // Prepare a fixture to use all java module types, mutators and singletons fully. // // This should only be used by tests that want to run with as much of the build enabled as possible. |