summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/aar.go4
-rw-r--r--java/app.go2
-rw-r--r--java/app_import.go2
-rw-r--r--java/java.go28
-rw-r--r--java/rro.go2
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 {