Add java.RegisterRequiredBuildComponentsForTest function
Insulate tests that exercise code in the java package from having to register the build components provided by the java package by providing a single function that registers them all. This follows the pattern currently used in the cc and rust packages. This change is in preparation for switching the dex_bootjars singleton from a singleton, which does not require a module definition in order to be instantiated, to a singleton module which does. That will require adding a module definition into java.GatherRequiredDepsForTest() and this change ensures that the required components will have been registered in every test. Bug: 177892522 Test: m nothing Change-Id: I6475db8240894947dd07c89a940a3e4f201aa598
This commit is contained in:
@@ -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")
|
||||
|
@@ -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)
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user