Revert "Include proguard flag files from transitive java_library deps"
This reverts commit 9c54f032b9dbef63b9ef235c2219a4e9124f8891.
Reason for revert: b/262940536
Bug: b/262940536
Change-Id: I8140eacc7ca8716f799561412cb5cef29df35d29
diff --git a/java/aar.go b/java/aar.go
index eba8a41..6261f29 100644
--- a/java/aar.go
+++ b/java/aar.go
@@ -29,8 +29,8 @@
)
type AndroidLibraryDependency interface {
- LibraryDependency
ExportPackage() android.Path
+ ExportedProguardFlagFiles() android.Paths
ExportedRRODirs() []rroDir
ExportedStaticPackages() android.Paths
ExportedManifests() android.Paths
@@ -498,7 +498,8 @@
aarFile android.WritablePath
- exportedStaticPackages android.Paths
+ exportedProguardFlagFiles android.Paths
+ exportedStaticPackages android.Paths
}
var _ android.OutputFileProducer = (*AndroidLibrary)(nil)
@@ -513,6 +514,10 @@
}
}
+func (a *AndroidLibrary) ExportedProguardFlagFiles() android.Paths {
+ return a.exportedProguardFlagFiles
+}
+
func (a *AndroidLibrary) ExportedStaticPackages() android.Paths {
return a.exportedStaticPackages
}
@@ -561,16 +566,13 @@
a.exportedProguardFlagFiles = append(a.exportedProguardFlagFiles,
android.PathsForModuleSrc(ctx, a.dexProperties.Optimize.Proguard_flags_files)...)
ctx.VisitDirectDeps(func(m android.Module) {
- if ctx.OtherModuleDependencyTag(m) == staticLibTag {
- if lib, ok := m.(LibraryDependency); ok {
- a.exportedProguardFlagFiles = append(a.exportedProguardFlagFiles, lib.ExportedProguardFlagFiles()...)
- }
- if alib, ok := m.(AndroidLibraryDependency); ok {
- a.exportedStaticPackages = append(a.exportedStaticPackages, alib.ExportPackage())
- a.exportedStaticPackages = append(a.exportedStaticPackages, alib.ExportedStaticPackages()...)
- }
+ if lib, ok := m.(AndroidLibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag {
+ a.exportedProguardFlagFiles = append(a.exportedProguardFlagFiles, lib.ExportedProguardFlagFiles()...)
+ a.exportedStaticPackages = append(a.exportedStaticPackages, lib.ExportPackage())
+ a.exportedStaticPackages = append(a.exportedStaticPackages, lib.ExportedStaticPackages()...)
}
})
+
a.exportedProguardFlagFiles = android.FirstUniquePaths(a.exportedProguardFlagFiles)
a.exportedStaticPackages = android.FirstUniquePaths(a.exportedStaticPackages)
diff --git a/java/app.go b/java/app.go
index 4f2df50..bbd9d2d 100755
--- a/java/app.go
+++ b/java/app.go
@@ -457,7 +457,7 @@
func (a *AndroidApp) proguardBuildActions(ctx android.ModuleContext) {
var staticLibProguardFlagFiles android.Paths
ctx.VisitDirectDeps(func(m android.Module) {
- if lib, ok := m.(LibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag {
+ if lib, ok := m.(AndroidLibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag {
staticLibProguardFlagFiles = append(staticLibProguardFlagFiles, lib.ExportedProguardFlagFiles()...)
}
})
diff --git a/java/dex_test.go b/java/dex_test.go
index fc6cd0f..6617873 100644
--- a/java/dex_test.go
+++ b/java/dex_test.go
@@ -155,57 +155,3 @@
android.AssertStringDoesNotContain(t, "expected no static_lib header jar in foo javac classpath",
fooD8.Args["d8Flags"], staticLibHeader.String())
}
-
-func TestProguardFlagsInheritance(t *testing.T) {
- result := PrepareForTestWithJavaDefaultModulesWithoutFakeDex2oatd.RunTestWithBp(t, `
- android_app {
- name: "app",
- static_libs: [
- "primary_android_lib",
- "primary_lib",
- ],
- platform_apis: true,
- }
-
- java_library {
- name: "primary_lib",
- optimize: {
- proguard_flags_files: ["primary.flags"],
- },
- }
-
- android_library {
- name: "primary_android_lib",
- static_libs: ["secondary_lib"],
- optimize: {
- proguard_flags_files: ["primary_android.flags"],
- },
- }
-
- java_library {
- name: "secondary_lib",
- static_libs: ["tertiary_lib"],
- optimize: {
- proguard_flags_files: ["secondary.flags"],
- },
- }
-
- java_library {
- name: "tertiary_lib",
- optimize: {
- proguard_flags_files: ["tertiary.flags"],
- },
- }
- `)
-
- app := result.ModuleForTests("app", "android_common")
- appR8 := app.Rule("r8")
- android.AssertStringDoesContain(t, "expected primary_lib's proguard flags from direct dep",
- appR8.Args["r8Flags"], "primary.flags")
- android.AssertStringDoesContain(t, "expected primary_android_lib's proguard flags from direct dep",
- appR8.Args["r8Flags"], "primary_android.flags")
- android.AssertStringDoesContain(t, "expected secondary_lib's proguard flags from inherited dep",
- appR8.Args["r8Flags"], "secondary.flags")
- android.AssertStringDoesContain(t, "expected tertiary_lib's proguard flags from inherited dep",
- appR8.Args["r8Flags"], "tertiary.flags")
-}
diff --git a/java/java.go b/java/java.go
index 9591846..5091d26 100644
--- a/java/java.go
+++ b/java/java.go
@@ -283,11 +283,6 @@
ClassLoaderContexts() dexpreopt.ClassLoaderContextMap
}
-// Provides transitive Proguard flag files to downstream DEX jars.
-type LibraryDependency interface {
- ExportedProguardFlagFiles() android.Paths
-}
-
// TODO(jungjw): Move this to kythe.go once it's created.
type xref interface {
XrefJavaFiles() android.Paths
@@ -590,17 +585,9 @@
type Library struct {
Module
- exportedProguardFlagFiles android.Paths
-
InstallMixin func(ctx android.ModuleContext, installPath android.Path) (extraInstallDeps android.Paths)
}
-var _ LibraryDependency = (*Library)(nil)
-
-func (j *Library) ExportedProguardFlagFiles() android.Paths {
- return j.exportedProguardFlagFiles
-}
-
var _ android.ApexModule = (*Library)(nil)
// Provides access to the list of permitted packages from apex boot jars.
@@ -696,15 +683,6 @@
}
j.installFile = ctx.InstallFile(installDir, j.Stem()+".jar", j.outputFile, extraInstallDeps...)
}
-
- j.exportedProguardFlagFiles = append(j.exportedProguardFlagFiles,
- android.PathsForModuleSrc(ctx, j.dexProperties.Optimize.Proguard_flags_files)...)
- ctx.VisitDirectDeps(func(m android.Module) {
- if lib, ok := m.(LibraryDependency); ok && ctx.OtherModuleDependencyTag(m) == staticLibTag {
- j.exportedProguardFlagFiles = append(j.exportedProguardFlagFiles, lib.ExportedProguardFlagFiles()...)
- }
- })
- j.exportedProguardFlagFiles = android.FirstUniquePaths(j.exportedProguardFlagFiles)
}
func (j *Library) DepsMutator(ctx android.BottomUpMutatorContext) {