Export Soong modules and build a database from metadata from Make and Soong.

Bug: 324465531
Test: CIs
Test: m compliance-metadata.db
Change-Id: Ia1c9ab0ae874dd47969555ddbfb93405b57a651f
This commit is contained in:
Wei Li
2024-06-21 13:08:51 -07:00
parent b651aaaf9e
commit a1aa297518
6 changed files with 414 additions and 0 deletions

View File

@@ -216,6 +216,11 @@ type ModuleContext interface {
// SetOutputFiles stores the outputFiles to outputFiles property, which is used
// to set the OutputFilesProvider later.
SetOutputFiles(outputFiles Paths, tag string)
// ComplianceMetadataInfo returns a ComplianceMetadataInfo instance for different module types to dump metadata,
// which usually happens in GenerateAndroidBuildActions() of a module type.
// See android.ModuleBase.complianceMetadataInfo
ComplianceMetadataInfo() *ComplianceMetadataInfo
}
type moduleContext struct {
@@ -729,6 +734,15 @@ func (m *moduleContext) SetOutputFiles(outputFiles Paths, tag string) {
}
}
func (m *moduleContext) ComplianceMetadataInfo() *ComplianceMetadataInfo {
if complianceMetadataInfo := m.module.base().complianceMetadataInfo; complianceMetadataInfo != nil {
return complianceMetadataInfo
}
complianceMetadataInfo := NewComplianceMetadataInfo()
m.module.base().complianceMetadataInfo = complianceMetadataInfo
return complianceMetadataInfo
}
// Returns a list of paths expanded from globs and modules referenced using ":module" syntax. The property must
// be tagged with `android:"path" to support automatic source module dependency resolution.
//