diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/aar.go | 4 | ||||
| -rw-r--r-- | java/app.go | 2 | ||||
| -rw-r--r-- | java/app_import.go | 2 | ||||
| -rw-r--r-- | java/java.go | 28 | ||||
| -rw-r--r-- | java/rro.go | 2 |
5 files changed, 38 insertions, 0 deletions
diff --git a/java/aar.go b/java/aar.go index 3479f9376..0a5a4c4d7 100644 --- a/java/aar.go +++ b/java/aar.go @@ -1063,6 +1063,8 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) } a.setOutputFiles(ctx) + + buildComplianceMetadata(ctx) } func (a *AndroidLibrary) setOutputFiles(ctx android.ModuleContext) { @@ -1594,6 +1596,8 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { ctx.SetOutputFiles([]android.Path{a.implementationAndResourcesJarFile}, "") ctx.SetOutputFiles([]android.Path{a.aarPath}, ".aar") + + buildComplianceMetadata(ctx) } func (a *AARImport) HeaderJars() android.Paths { diff --git a/java/app.go b/java/app.go index da7eb02ec..abbf034fa 100644 --- a/java/app.go +++ b/java/app.go @@ -1103,6 +1103,8 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) { } a.setOutputFiles(ctx) + + buildComplianceMetadata(ctx) } func (a *AndroidApp) setOutputFiles(ctx android.ModuleContext) { diff --git a/java/app_import.go b/java/app_import.go index a997e3550..352e995e2 100644 --- a/java/app_import.go +++ b/java/app_import.go @@ -531,6 +531,8 @@ func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext ctx.SetOutputFiles([]android.Path{a.outputFile}, "") + buildComplianceMetadata(ctx) + // TODO: androidmk converter jni libs } 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) { diff --git a/java/rro.go b/java/rro.go index 44d55646e..d9f4ff7c8 100644 --- a/java/rro.go +++ b/java/rro.go @@ -206,6 +206,8 @@ func (r *RuntimeResourceOverlay) GenerateAndroidBuildActions(ctx android.ModuleC android.SetProvider(ctx, FlagsPackagesProvider, FlagsPackages{ AconfigTextFiles: aconfigTextFilePaths, }) + + buildComplianceMetadata(ctx) } func (r *RuntimeResourceOverlay) SdkVersion(ctx android.EarlyModuleContext) android.SdkSpec { |