Loading java/aar.go +5 −6 Original line number Diff line number Diff line Loading @@ -811,8 +811,11 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) a.linter.manifest = a.aapt.manifestPath a.linter.resources = a.aapt.resourceFiles a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, a.proguardOptionsFile) proguardSpecInfo := a.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) a.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() a.extraProguardFlagFiles = append(a.extraProguardFlagFiles, a.exportedProguardFlagFiles...) a.extraProguardFlagFiles = append(a.extraProguardFlagFiles, a.proguardOptionsFile) var extraSrcJars android.Paths var extraCombinedJars android.Paths Loading @@ -838,10 +841,6 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) ctx.CheckbuildFile(a.aarFile) } proguardSpecInfo := a.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) a.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() prebuiltJniPackages := android.Paths{} ctx.VisitDirectDeps(func(module android.Module) { if info, ok := ctx.OtherModuleProvider(module, JniPackageProvider).(JniPackageInfo); ok { Loading java/dex.go +2 −0 Original line number Diff line number Diff line Loading @@ -300,6 +300,8 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, flags javaBuilderFlags) (r8Fl flagFiles = append(flagFiles, android.PathsForModuleSrc(ctx, opt.Proguard_flags_files)...) flagFiles = android.FirstUniquePaths(flagFiles) r8Flags = append(r8Flags, android.JoinWithPrefix(flagFiles.Strings(), "-include ")) r8Deps = append(r8Deps, flagFiles...) Loading java/dex_test.go +86 −48 Original line number Diff line number Diff line Loading @@ -385,13 +385,53 @@ func TestProguardFlagsInheritanceStatic(t *testing.T) { func TestProguardFlagsInheritance(t *testing.T) { directDepFlagsFileName := "direct_dep.flags" transitiveDepFlagsFileName := "transitive_dep.flags" bp := ` topLevelModules := []struct { name string definition string }{ { name: "android_app", definition: ` android_app { name: "app", static_libs: ["androidlib"], // this must be static_libs to initate dexing platform_apis: true, } `, }, { name: "android_library", definition: ` android_library { name: "app", static_libs: ["androidlib"], // this must be static_libs to initate dexing installable: true, optimize: { enabled: true, shrink: true, }, } `, }, { name: "java_library", definition: ` java_library { name: "app", static_libs: ["androidlib"], // this must be static_libs to initate dexing srcs: ["Foo.java"], installable: true, optimize: { enabled: true, shrink: true, }, } `, }, } bp := ` android_library { name: "androidlib", static_libs: ["app_dep"], Loading Loading @@ -558,8 +598,9 @@ func TestProguardFlagsInheritance(t *testing.T) { }, } for _, topLevelModuleDef := range topLevelModules { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { t.Run(topLevelModuleDef.name+"-"+tc.name, func(t *testing.T) { result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureMergeMockFs(android.MockFS{ Loading @@ -567,6 +608,7 @@ func TestProguardFlagsInheritance(t *testing.T) { transitiveDepFlagsFileName: nil, }), ).RunTestWithBp(t, topLevelModuleDef.definition+ fmt.Sprintf( bp, tc.depType, Loading Loading @@ -597,6 +639,7 @@ func TestProguardFlagsInheritance(t *testing.T) { }) } } } func TestProguardFlagsInheritanceAppImport(t *testing.T) { bp := ` Loading @@ -606,11 +649,6 @@ func TestProguardFlagsInheritanceAppImport(t *testing.T) { platform_apis: true, } android_library { name: "androidlib", static_libs: ["aarimport"], } android_library_import { name: "aarimport", aars: ["import.aar"], Loading java/java.go +5 −4 Original line number Diff line number Diff line Loading @@ -697,6 +697,11 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) { j.stem = proptools.StringDefault(j.overridableDeviceProperties.Stem, ctx.ModuleName()) proguardSpecInfo := j.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) j.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() j.extraProguardFlagFiles = append(j.extraProguardFlagFiles, j.exportedProguardFlagFiles...) apexInfo := ctx.Provider(android.ApexInfoProvider).(android.ApexInfo) if !apexInfo.IsForPlatform() { j.hideApexVariantFromMake = true Loading Loading @@ -741,10 +746,6 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) { } j.installFile = ctx.InstallFile(installDir, j.Stem()+".jar", j.outputFile, extraInstallDeps...) } proguardSpecInfo := j.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) j.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() } func (j *Library) DepsMutator(ctx android.BottomUpMutatorContext) { Loading Loading
java/aar.go +5 −6 Original line number Diff line number Diff line Loading @@ -811,8 +811,11 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) a.linter.manifest = a.aapt.manifestPath a.linter.resources = a.aapt.resourceFiles a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles, a.proguardOptionsFile) proguardSpecInfo := a.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) a.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() a.extraProguardFlagFiles = append(a.extraProguardFlagFiles, a.exportedProguardFlagFiles...) a.extraProguardFlagFiles = append(a.extraProguardFlagFiles, a.proguardOptionsFile) var extraSrcJars android.Paths var extraCombinedJars android.Paths Loading @@ -838,10 +841,6 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) ctx.CheckbuildFile(a.aarFile) } proguardSpecInfo := a.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) a.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() prebuiltJniPackages := android.Paths{} ctx.VisitDirectDeps(func(module android.Module) { if info, ok := ctx.OtherModuleProvider(module, JniPackageProvider).(JniPackageInfo); ok { Loading
java/dex.go +2 −0 Original line number Diff line number Diff line Loading @@ -300,6 +300,8 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, flags javaBuilderFlags) (r8Fl flagFiles = append(flagFiles, android.PathsForModuleSrc(ctx, opt.Proguard_flags_files)...) flagFiles = android.FirstUniquePaths(flagFiles) r8Flags = append(r8Flags, android.JoinWithPrefix(flagFiles.Strings(), "-include ")) r8Deps = append(r8Deps, flagFiles...) Loading
java/dex_test.go +86 −48 Original line number Diff line number Diff line Loading @@ -385,13 +385,53 @@ func TestProguardFlagsInheritanceStatic(t *testing.T) { func TestProguardFlagsInheritance(t *testing.T) { directDepFlagsFileName := "direct_dep.flags" transitiveDepFlagsFileName := "transitive_dep.flags" bp := ` topLevelModules := []struct { name string definition string }{ { name: "android_app", definition: ` android_app { name: "app", static_libs: ["androidlib"], // this must be static_libs to initate dexing platform_apis: true, } `, }, { name: "android_library", definition: ` android_library { name: "app", static_libs: ["androidlib"], // this must be static_libs to initate dexing installable: true, optimize: { enabled: true, shrink: true, }, } `, }, { name: "java_library", definition: ` java_library { name: "app", static_libs: ["androidlib"], // this must be static_libs to initate dexing srcs: ["Foo.java"], installable: true, optimize: { enabled: true, shrink: true, }, } `, }, } bp := ` android_library { name: "androidlib", static_libs: ["app_dep"], Loading Loading @@ -558,8 +598,9 @@ func TestProguardFlagsInheritance(t *testing.T) { }, } for _, topLevelModuleDef := range topLevelModules { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { t.Run(topLevelModuleDef.name+"-"+tc.name, func(t *testing.T) { result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureMergeMockFs(android.MockFS{ Loading @@ -567,6 +608,7 @@ func TestProguardFlagsInheritance(t *testing.T) { transitiveDepFlagsFileName: nil, }), ).RunTestWithBp(t, topLevelModuleDef.definition+ fmt.Sprintf( bp, tc.depType, Loading Loading @@ -597,6 +639,7 @@ func TestProguardFlagsInheritance(t *testing.T) { }) } } } func TestProguardFlagsInheritanceAppImport(t *testing.T) { bp := ` Loading @@ -606,11 +649,6 @@ func TestProguardFlagsInheritanceAppImport(t *testing.T) { platform_apis: true, } android_library { name: "androidlib", static_libs: ["aarimport"], } android_library_import { name: "aarimport", aars: ["import.aar"], Loading
java/java.go +5 −4 Original line number Diff line number Diff line Loading @@ -697,6 +697,11 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) { j.stem = proptools.StringDefault(j.overridableDeviceProperties.Stem, ctx.ModuleName()) proguardSpecInfo := j.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) j.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() j.extraProguardFlagFiles = append(j.extraProguardFlagFiles, j.exportedProguardFlagFiles...) apexInfo := ctx.Provider(android.ApexInfoProvider).(android.ApexInfo) if !apexInfo.IsForPlatform() { j.hideApexVariantFromMake = true Loading Loading @@ -741,10 +746,6 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) { } j.installFile = ctx.InstallFile(installDir, j.Stem()+".jar", j.outputFile, extraInstallDeps...) } proguardSpecInfo := j.collectProguardSpecInfo(ctx) ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo) j.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList() } func (j *Library) DepsMutator(ctx android.BottomUpMutatorContext) { Loading