Loading java/aar.go +19 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import ( type AndroidLibraryDependency interface { Dependency ExportPackage() android.Path ExportedProguardFlagFiles() android.Paths } func init() { Loading Loading @@ -247,6 +248,12 @@ type AndroidLibrary struct { androidLibraryProperties androidLibraryProperties aarFile android.WritablePath exportedProguardFlagFiles android.Paths } func (a *AndroidLibrary) ExportedProguardFlagFiles() android.Paths { return a.exportedProguardFlagFiles } var _ AndroidLibraryDependency = (*AndroidLibrary)(nil) Loading Loading @@ -279,6 +286,14 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) BuildAAR(ctx, a.aarFile, a.outputFile, a.manifestPath, a.rTxt, res) ctx.CheckbuildFile(a.aarFile) } ctx.VisitDirectDeps(func(m android.Module) { if lib, ok := m.(AndroidLibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag { a.exportedProguardFlagFiles = append(a.exportedProguardFlagFiles, lib.ExportedProguardFlagFiles()...) } }) a.exportedProguardFlagFiles = android.FirstUniquePaths(a.exportedProguardFlagFiles) } func AndroidLibraryFactory() android.Module { Loading Loading @@ -327,6 +342,10 @@ func (a *AARImport) ExportPackage() android.Path { return a.exportPackage } func (a *AARImport) ExportedProguardFlagFiles() android.Paths { return android.Paths{a.proguardFlags} } func (a *AARImport) Prebuilt() *android.Prebuilt { return &a.prebuilt } Loading java/androidmk.go +2 −1 Original line number Diff line number Diff line Loading @@ -244,7 +244,8 @@ func (a *AndroidLibrary) AndroidMk() android.AndroidMkData { fmt.Fprintln(w, "LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE :=", a.exportPackage.String()) fmt.Fprintln(w, "LOCAL_FULL_MANIFEST_FILE :=", a.manifestPath.String()) fmt.Fprintln(w, "LOCAL_SOONG_EXPORT_PROGUARD_FLAGS :=", a.proguardOptionsFile.String()) fmt.Fprintln(w, "LOCAL_SOONG_EXPORT_PROGUARD_FLAGS :=", strings.Join(a.exportedProguardFlagFiles.Strings(), " ")) fmt.Fprintln(w, "LOCAL_UNINSTALLABLE_MODULE := true") fmt.Fprintln(w, "LOCAL_DEX_PREOPT := false") }) Loading java/app.go +15 −2 Original line number Diff line number Diff line Loading @@ -63,6 +63,10 @@ type AndroidApp struct { appProperties appProperties } func (a *AndroidApp) ExportedProguardFlagFiles() android.Paths { return nil } var _ AndroidLibraryDependency = (*AndroidApp)(nil) type certificate struct { Loading Loading @@ -116,8 +120,17 @@ func (a *AndroidApp) GenerateAndroidBuildActions(ctx android.ModuleContext) { // apps manifests are handled by aapt, don't let Module see them a.properties.Manifest = nil a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, a.proguardOptionsFile) var staticLibProguardFlagFiles android.Paths ctx.VisitDirectDeps(func(m android.Module) { if lib, ok := m.(AndroidLibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag { staticLibProguardFlagFiles = append(staticLibProguardFlagFiles, lib.ExportedProguardFlagFiles()...) } }) staticLibProguardFlagFiles = android.FirstUniquePaths(staticLibProguardFlagFiles) a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, staticLibProguardFlagFiles...) a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, a.proguardOptionsFile) if ctx.ModuleName() != "framework-res" { a.Module.compile(ctx, a.aaptSrcJar) Loading Loading
java/aar.go +19 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import ( type AndroidLibraryDependency interface { Dependency ExportPackage() android.Path ExportedProguardFlagFiles() android.Paths } func init() { Loading Loading @@ -247,6 +248,12 @@ type AndroidLibrary struct { androidLibraryProperties androidLibraryProperties aarFile android.WritablePath exportedProguardFlagFiles android.Paths } func (a *AndroidLibrary) ExportedProguardFlagFiles() android.Paths { return a.exportedProguardFlagFiles } var _ AndroidLibraryDependency = (*AndroidLibrary)(nil) Loading Loading @@ -279,6 +286,14 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) BuildAAR(ctx, a.aarFile, a.outputFile, a.manifestPath, a.rTxt, res) ctx.CheckbuildFile(a.aarFile) } ctx.VisitDirectDeps(func(m android.Module) { if lib, ok := m.(AndroidLibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag { a.exportedProguardFlagFiles = append(a.exportedProguardFlagFiles, lib.ExportedProguardFlagFiles()...) } }) a.exportedProguardFlagFiles = android.FirstUniquePaths(a.exportedProguardFlagFiles) } func AndroidLibraryFactory() android.Module { Loading Loading @@ -327,6 +342,10 @@ func (a *AARImport) ExportPackage() android.Path { return a.exportPackage } func (a *AARImport) ExportedProguardFlagFiles() android.Paths { return android.Paths{a.proguardFlags} } func (a *AARImport) Prebuilt() *android.Prebuilt { return &a.prebuilt } Loading
java/androidmk.go +2 −1 Original line number Diff line number Diff line Loading @@ -244,7 +244,8 @@ func (a *AndroidLibrary) AndroidMk() android.AndroidMkData { fmt.Fprintln(w, "LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE :=", a.exportPackage.String()) fmt.Fprintln(w, "LOCAL_FULL_MANIFEST_FILE :=", a.manifestPath.String()) fmt.Fprintln(w, "LOCAL_SOONG_EXPORT_PROGUARD_FLAGS :=", a.proguardOptionsFile.String()) fmt.Fprintln(w, "LOCAL_SOONG_EXPORT_PROGUARD_FLAGS :=", strings.Join(a.exportedProguardFlagFiles.Strings(), " ")) fmt.Fprintln(w, "LOCAL_UNINSTALLABLE_MODULE := true") fmt.Fprintln(w, "LOCAL_DEX_PREOPT := false") }) Loading
java/app.go +15 −2 Original line number Diff line number Diff line Loading @@ -63,6 +63,10 @@ type AndroidApp struct { appProperties appProperties } func (a *AndroidApp) ExportedProguardFlagFiles() android.Paths { return nil } var _ AndroidLibraryDependency = (*AndroidApp)(nil) type certificate struct { Loading Loading @@ -116,8 +120,17 @@ func (a *AndroidApp) GenerateAndroidBuildActions(ctx android.ModuleContext) { // apps manifests are handled by aapt, don't let Module see them a.properties.Manifest = nil a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, a.proguardOptionsFile) var staticLibProguardFlagFiles android.Paths ctx.VisitDirectDeps(func(m android.Module) { if lib, ok := m.(AndroidLibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag { staticLibProguardFlagFiles = append(staticLibProguardFlagFiles, lib.ExportedProguardFlagFiles()...) } }) staticLibProguardFlagFiles = android.FirstUniquePaths(staticLibProguardFlagFiles) a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, staticLibProguardFlagFiles...) a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, a.proguardOptionsFile) if ctx.ModuleName() != "framework-res" { a.Module.compile(ctx, a.aaptSrcJar) Loading