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.