diff options
author | 2022-12-19 21:08:39 +0000 | |
---|---|---|
committer | 2022-12-19 23:05:28 +0000 | |
commit | 5979b301703b752deae6f12cdb5eea35edd7bf3a (patch) | |
tree | 7aa236dc8b2491e2818a842e3bfcbb51f8576d99 /java/dex_test.go | |
parent | 52b842a1fa4f4aac41034b83a9895921d78aaeb6 (diff) |
Revert "Revert "Include proguard flag files from transitive java_library deps""
This reverts commit 6f7e288fb5ea2fb01d9093fd57081a82c09a6618.
Reason for revert: Downstream proguard usage has been fixed.
Change-Id: I3667e7e908eebc62c640b42cb96b04993fc66e45
Diffstat (limited to 'java/dex_test.go')
-rw-r--r-- | java/dex_test.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/java/dex_test.go b/java/dex_test.go index 66178732a..fc6cd0f3f 100644 --- a/java/dex_test.go +++ b/java/dex_test.go @@ -155,3 +155,57 @@ func TestD8(t *testing.T) { 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") +} |