diff options
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go index d9a6b3556..67b9ba966 100644 --- a/java/java.go +++ b/java/java.go @@ -1147,6 +1147,8 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) { setOutputFiles(ctx, j.Module) j.javaLibraryModuleInfoJSON(ctx) + + buildComplianceMetadata(ctx) } func (j *Library) javaLibraryModuleInfoJSON(ctx android.ModuleContext) *android.ModuleInfoJSON { @@ -1175,6 +1177,30 @@ func (j *Library) javaLibraryModuleInfoJSON(ctx android.ModuleContext) *android. return moduleInfoJSON } +func buildComplianceMetadata(ctx android.ModuleContext) { + // Dump metadata that can not be done in android/compliance-metadata.go + complianceMetadataInfo := ctx.ComplianceMetadataInfo() + builtFiles := ctx.GetOutputFiles().DefaultOutputFiles.Strings() + for _, paths := range ctx.GetOutputFiles().TaggedOutputFiles { + builtFiles = append(builtFiles, paths.Strings()...) + } + complianceMetadataInfo.SetListValue(android.ComplianceMetadataProp.BUILT_FILES, android.FirstUniqueStrings(builtFiles)) + + // Static deps + staticDepNames := make([]string, 0) + staticDepFiles := android.Paths{} + ctx.VisitDirectDepsWithTag(staticLibTag, func(module android.Module) { + if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok { + staticDepNames = append(staticDepNames, module.Name()) + staticDepFiles = append(staticDepFiles, dep.ImplementationJars...) + staticDepFiles = append(staticDepFiles, dep.HeaderJars...) + staticDepFiles = append(staticDepFiles, dep.ResourceJars...) + } + }) + complianceMetadataInfo.SetListValue(android.ComplianceMetadataProp.STATIC_DEPS, android.FirstUniqueStrings(staticDepNames)) + complianceMetadataInfo.SetListValue(android.ComplianceMetadataProp.STATIC_DEP_FILES, android.FirstUniqueStrings(staticDepFiles.Strings())) +} + func (j *Library) getJarInstallDir(ctx android.ModuleContext) android.InstallPath { var installDir android.InstallPath if ctx.InstallInTestcases() { @@ -3173,6 +3199,8 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { ctx.SetOutputFiles(android.Paths{j.combinedImplementationFile}, "") ctx.SetOutputFiles(android.Paths{j.combinedImplementationFile}, ".jar") + + buildComplianceMetadata(ctx) } func (j *Import) maybeInstall(ctx android.ModuleContext, jarName string, outputFile android.Path) { |