Make platform_bootclasspath a singleton module

This is needed in order to allow it to implement MakeVars so it can
create make variables just like the dexpreopt_bootjars and hiddenapi
singletons currently do.

Bug: 177892522
Bug: 179354495
Test: m nothing
Change-Id: Ida5bf8abeecde531e1f6430151650065445804ac
This commit is contained in:
Paul Duffin 2021-04-29 10:34:11 +01:00
parent 3f9c16af2d
commit e3ecce67c1

View file

@ -26,7 +26,7 @@ func init() {
}
func registerPlatformBootclasspathBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterModuleType("platform_bootclasspath", platformBootclasspathFactory)
ctx.RegisterSingletonModuleType("platform_bootclasspath", platformBootclasspathFactory)
}
// The tags used for the dependencies between the platform bootclasspath and any configured boot
@ -38,7 +38,7 @@ var (
)
type platformBootclasspathModule struct {
android.ModuleBase
android.SingletonModuleBase
ClasspathFragmentBase
properties platformBootclasspathProperties
@ -69,7 +69,7 @@ type platformBootclasspathProperties struct {
Hidden_api HiddenAPIFlagFileProperties
}
func platformBootclasspathFactory() android.Module {
func platformBootclasspathFactory() android.SingletonModule {
m := &platformBootclasspathModule{}
m.AddProperties(&m.properties)
// TODO(satayev): split systemserver and apex jars into separate configs.
@ -154,6 +154,18 @@ func addDependenciesOntoBootImageModules(ctx android.BottomUpMutatorContext, mod
}
}
// GenerateSingletonBuildActions does nothing and must never do anything.
//
// This module only implements android.SingletonModule so that it can implement
// android.SingletonMakeVarsProvider.
func (b *platformBootclasspathModule) GenerateSingletonBuildActions(android.SingletonContext) {
// Keep empty
}
func (d *platformBootclasspathModule) MakeVars(ctx android.MakeVarsContext) {
// Placeholder for now.
}
func (b *platformBootclasspathModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
b.classpathFragmentBase().generateAndroidBuildActions(ctx)