diff --git a/apex/apex_test.go b/apex/apex_test.go index aa4b9c8c6..9761e55ec 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -248,6 +248,7 @@ func testApexContext(_ *testing.T, bp string, handlers ...testCustomizer) (*andr cc.RegisterRequiredBuildComponentsForTest(ctx) rust.RegisterRequiredBuildComponentsForTest(ctx) + java.RegisterRequiredBuildComponentsForTest(ctx) ctx.RegisterModuleType("cc_test", cc.TestFactory) ctx.RegisterModuleType("vndk_prebuilt_shared", cc.VndkPrebuiltSharedFactory) @@ -256,14 +257,6 @@ func testApexContext(_ *testing.T, bp string, handlers ...testCustomizer) (*andr ctx.RegisterModuleType("platform_compat_config", java.PlatformCompatConfigFactory) ctx.RegisterModuleType("sh_binary", sh.ShBinaryFactory) ctx.RegisterModuleType("filegroup", android.FileGroupFactory) - java.RegisterJavaBuildComponents(ctx) - java.RegisterSystemModulesBuildComponents(ctx) - java.RegisterAppBuildComponents(ctx) - java.RegisterAppImportBuildComponents(ctx) - java.RegisterAppSetBuildComponents(ctx) - java.RegisterRuntimeResourceOverlayBuildComponents(ctx) - java.RegisterSdkLibraryBuildComponents(ctx) - java.RegisterPrebuiltApisBuildComponents(ctx) ctx.RegisterSingletonType("apex_keys_text", apexKeysTextFactory) ctx.RegisterModuleType("bpf", bpf.BpfFactory) @@ -5957,10 +5950,7 @@ func testDexpreoptWithApexes(t *testing.T, bp, errmsg string, transformDexpreopt ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) android.RegisterPrebuiltMutators(ctx) cc.RegisterRequiredBuildComponentsForTest(ctx) - java.RegisterJavaBuildComponents(ctx) - java.RegisterSystemModulesBuildComponents(ctx) - java.RegisterAppBuildComponents(ctx) - java.RegisterDexpreoptBootJarsComponents(ctx) + java.RegisterRequiredBuildComponentsForTest(ctx) ctx.PostDepsMutators(android.RegisterOverridePostDepsMutators) ctx.PreDepsMutators(RegisterPreDepsMutators) ctx.PostDepsMutators(RegisterPostDepsMutators) @@ -6164,9 +6154,7 @@ func testApexPermittedPackagesRules(t *testing.T, errmsg, bp string, apexBootJar ctx.RegisterModuleType("apex_key", ApexKeyFactory) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) cc.RegisterRequiredBuildComponentsForTest(ctx) - java.RegisterJavaBuildComponents(ctx) - java.RegisterSystemModulesBuildComponents(ctx) - java.RegisterDexpreoptBootJarsComponents(ctx) + java.RegisterRequiredBuildComponentsForTest(ctx) ctx.PostDepsMutators(android.RegisterOverridePostDepsMutators) ctx.PreDepsMutators(RegisterPreDepsMutators) ctx.PostDepsMutators(RegisterPostDepsMutators) diff --git a/java/dexpreopt_bootjars_test.go b/java/dexpreopt_bootjars_test.go index 95fe5e10e..48bc244d9 100644 --- a/java/dexpreopt_bootjars_test.go +++ b/java/dexpreopt_bootjars_test.go @@ -52,7 +52,6 @@ func testDexpreoptBoot(t *testing.T, ruleFile string, expectedInputs, expectedOu dexpreopt.SetTestGlobalConfig(config, dexpreoptConfig) ctx := testContext(config) - RegisterDexpreoptBootJarsComponents(ctx) run(t, ctx, config) dexpreoptBootJars := ctx.SingletonForTests("dex_bootjars") diff --git a/java/java_test.go b/java/java_test.go index 1c0738fa4..2a23f371e 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -73,21 +73,10 @@ func testConfig(env map[string]string, bp string, fs map[string][]byte) android. func testContext(config android.Config) *android.TestContext { ctx := android.NewTestArchContext(config) - RegisterJavaBuildComponents(ctx) - RegisterAppBuildComponents(ctx) - RegisterAppImportBuildComponents(ctx) - RegisterAppSetBuildComponents(ctx) - RegisterAARBuildComponents(ctx) - RegisterGenRuleBuildComponents(ctx) - RegisterRuntimeResourceOverlayBuildComponents(ctx) - RegisterSystemModulesBuildComponents(ctx) + RegisterRequiredBuildComponentsForTest(ctx) ctx.RegisterModuleType("java_plugin", PluginFactory) ctx.RegisterModuleType("filegroup", android.FileGroupFactory) ctx.RegisterModuleType("python_binary_host", python.PythonBinaryHostFactory) - RegisterDocsBuildComponents(ctx) - RegisterStubsBuildComponents(ctx) - RegisterPrebuiltApisBuildComponents(ctx) - RegisterSdkLibraryBuildComponents(ctx) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) ctx.PreArchMutators(android.RegisterComponentsMutator) diff --git a/java/testing.go b/java/testing.go index fc4e4775b..0327963ae 100644 --- a/java/testing.go +++ b/java/testing.go @@ -95,6 +95,29 @@ func prebuiltApisFilesForLibs(apiLevels []string, sdkLibs []string) map[string][ return fs } +// Register build components provided by this package that are needed by tests. +// +// In particular this must register all the components that are used in the `Android.bp` snippet +// returned by GatherRequiredDepsForTest() +func RegisterRequiredBuildComponentsForTest(ctx android.RegistrationContext) { + RegisterAARBuildComponents(ctx) + RegisterAppBuildComponents(ctx) + RegisterAppImportBuildComponents(ctx) + RegisterAppSetBuildComponents(ctx) + RegisterDexpreoptBootJarsComponents(ctx) + RegisterDocsBuildComponents(ctx) + RegisterGenRuleBuildComponents(ctx) + RegisterJavaBuildComponents(ctx) + RegisterPrebuiltApisBuildComponents(ctx) + RegisterRuntimeResourceOverlayBuildComponents(ctx) + RegisterSdkLibraryBuildComponents(ctx) + RegisterStubsBuildComponents(ctx) + RegisterSystemModulesBuildComponents(ctx) +} + +// Gather the module definitions needed by tests that depend upon code from this package. +// +// Returns an `Android.bp` snippet that defines the modules that are needed by this package. func GatherRequiredDepsForTest() string { var bp string diff --git a/sdk/testing.go b/sdk/testing.go index 38755a9e6..1ac873b4f 100644 --- a/sdk/testing.go +++ b/sdk/testing.go @@ -107,12 +107,7 @@ func testSdkContext(bp string, fs map[string][]byte, extraOsTypes []android.OsTy ctx.PostDepsMutators(android.RegisterVisibilityRuleEnforcer) // from java package - java.RegisterJavaBuildComponents(ctx) - java.RegisterAppBuildComponents(ctx) - java.RegisterSdkLibraryBuildComponents(ctx) - java.RegisterPrebuiltApisBuildComponents(ctx) - java.RegisterStubsBuildComponents(ctx) - java.RegisterSystemModulesBuildComponents(ctx) + java.RegisterRequiredBuildComponentsForTest(ctx) // from cc package cc.RegisterRequiredBuildComponentsForTest(ctx) diff --git a/sysprop/sysprop_test.go b/sysprop/sysprop_test.go index b8b93f631..5cb9e64ee 100644 --- a/sysprop/sysprop_test.go +++ b/sysprop/sysprop_test.go @@ -58,9 +58,7 @@ func TestMain(m *testing.M) { func testContext(config android.Config) *android.TestContext { ctx := android.NewTestArchContext(config) - java.RegisterJavaBuildComponents(ctx) - java.RegisterAppBuildComponents(ctx) - java.RegisterSystemModulesBuildComponents(ctx) + java.RegisterRequiredBuildComponentsForTest(ctx) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) ctx.PreArchMutators(func(ctx android.RegisterMutatorsContext) {