From 495ffb9ff990a974084a71b2821dd81befd6130e Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Fri, 20 Mar 2020 13:35:40 +0000 Subject: Remove old SdkMemberType API for creating snapshot modules Migrates system modules and droid stubs over to use the new API for creating the snapshot modules and removes the old API. Test: m nothing Change-Id: Ia825767f1f7ee77f68cfe00f53e09e6f6bfa027f --- java/system_modules.go | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'java/system_modules.go') diff --git a/java/system_modules.go b/java/system_modules.go index 40031cb05..7394fd547 100644 --- a/java/system_modules.go +++ b/java/system_modules.go @@ -242,18 +242,28 @@ func (mt *systemModulesSdkMemberType) IsInstance(module android.Module) bool { return false } -func (mt *systemModulesSdkMemberType) BuildSnapshot(sdkModuleContext android.ModuleContext, builder android.SnapshotBuilder, member android.SdkMember) { - variants := member.Variants() - if len(variants) != 1 { - sdkModuleContext.ModuleErrorf("sdk contains %d variants of member %q but only one is allowed", len(variants), member.Name()) - for _, variant := range variants { - sdkModuleContext.ModuleErrorf(" %q", variant) - } - } - variant := variants[0] +func (mt *systemModulesSdkMemberType) AddPrebuiltModule(ctx android.SdkMemberContext, member android.SdkMember) android.BpModule { + return ctx.SnapshotBuilder().AddPrebuiltModule(member, "java_system_modules_import") +} + +type systemModulesInfoProperties struct { + android.SdkMemberPropertiesBase + + Libs []string +} + +func (mt *systemModulesSdkMemberType) CreateVariantPropertiesStruct() android.SdkMemberProperties { + return &systemModulesInfoProperties{} +} + +func (p *systemModulesInfoProperties) PopulateFromVariant(ctx android.SdkMemberContext, variant android.Module) { systemModule := variant.(*SystemModules) + p.Libs = systemModule.properties.Libs +} - pbm := builder.AddPrebuiltModule(member, "java_system_modules_import") - // Add the references to the libraries that form the system module. - pbm.AddPropertyWithTag("libs", systemModule.properties.Libs, builder.SdkMemberReferencePropertyTag(true)) +func (p *systemModulesInfoProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) { + if len(p.Libs) > 0 { + // Add the references to the libraries that form the system module. + propertySet.AddPropertyWithTag("libs", p.Libs, ctx.SnapshotBuilder().SdkMemberReferencePropertyTag(true)) + } } -- cgit v1.2.3-59-g8ed1b