Revert^3 "Enforce <uses-library> checks for android_app and android_app_import."

This reverts commit c2b6b65d73.

Reason for revert: These changes should only be reverted in
  rvc-qpr-dev-plus-aosp, but not in master.

Bug: 132357300
Test: treehugger
Change-Id: I3243668ce9a399936b0e9dde09c42db6cc45d562
This commit is contained in:
Ulyana Trafimovich
2021-02-17 17:01:10 +00:00
parent e3c21a6f21
commit 92dac721f6
3 changed files with 17 additions and 10 deletions

View File

@@ -906,6 +906,8 @@ func AndroidAppFactory() android.Module {
&module.appProperties,
&module.overridableAppProperties)
module.usesLibrary.enforce = true
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
android.InitDefaultableModule(module)
android.InitOverridableModule(module, &module.appProperties.Overrides)
@@ -1176,6 +1178,9 @@ type UsesLibraryProperties struct {
// with knowledge of their shared libraries.
type usesLibrary struct {
usesLibraryProperties UsesLibraryProperties
// Whether to enforce verify_uses_library check.
enforce bool
}
func (u *usesLibrary) addLib(lib string, optional bool) {
@@ -1242,7 +1247,7 @@ func (u *usesLibrary) classLoaderContextForUsesLibDeps(ctx android.ModuleContext
func (u *usesLibrary) enforceUsesLibraries() bool {
defaultEnforceUsesLibs := len(u.usesLibraryProperties.Uses_libs) > 0 ||
len(u.usesLibraryProperties.Optional_uses_libs) > 0
return BoolDefault(u.usesLibraryProperties.Enforce_uses_libs, defaultEnforceUsesLibs)
return BoolDefault(u.usesLibraryProperties.Enforce_uses_libs, u.enforce || defaultEnforceUsesLibs)
}
// Freeze the value of `enforce_uses_libs` based on the current values of `uses_libs` and `optional_uses_libs`.

View File

@@ -452,6 +452,8 @@ func AndroidAppImportFactory() android.Module {
android.InitDefaultableModule(module)
android.InitSingleSourcePrebuiltModule(module, &module.properties, "Apk")
module.usesLibrary.enforce = true
return module
}

View File

@@ -182,31 +182,31 @@ func TestAndroidAppImport_DpiVariants(t *testing.T) {
name: "no preferred",
aaptPreferredConfig: nil,
aaptPrebuiltDPI: []string{},
expected: "prebuilts/apk/app.apk",
expected: "verify_uses_libraries/apk/app.apk",
},
{
name: "AAPTPreferredConfig matches",
aaptPreferredConfig: proptools.StringPtr("xhdpi"),
aaptPrebuiltDPI: []string{"xxhdpi", "ldpi"},
expected: "prebuilts/apk/app_xhdpi.apk",
expected: "verify_uses_libraries/apk/app_xhdpi.apk",
},
{
name: "AAPTPrebuiltDPI matches",
aaptPreferredConfig: proptools.StringPtr("mdpi"),
aaptPrebuiltDPI: []string{"xxhdpi", "xhdpi"},
expected: "prebuilts/apk/app_xxhdpi.apk",
expected: "verify_uses_libraries/apk/app_xxhdpi.apk",
},
{
name: "non-first AAPTPrebuiltDPI matches",
aaptPreferredConfig: proptools.StringPtr("mdpi"),
aaptPrebuiltDPI: []string{"ldpi", "xhdpi"},
expected: "prebuilts/apk/app_xhdpi.apk",
expected: "verify_uses_libraries/apk/app_xhdpi.apk",
},
{
name: "no matches",
aaptPreferredConfig: proptools.StringPtr("mdpi"),
aaptPrebuiltDPI: []string{"ldpi", "xxxhdpi"},
expected: "prebuilts/apk/app.apk",
expected: "verify_uses_libraries/apk/app.apk",
},
}
@@ -225,7 +225,7 @@ func TestAndroidAppImport_DpiVariants(t *testing.T) {
if len(matches) != 2 {
t.Errorf("failed to extract the src apk path from %q", jniRuleCommand)
}
if test.expected != matches[1] {
if strings.HasSuffix(matches[1], test.expected) {
t.Errorf("wrong src apk, expected: %q got: %q", test.expected, matches[1])
}
}
@@ -302,7 +302,7 @@ func TestAndroidAppImport_ArchVariants(t *testing.T) {
},
}
`,
expected: "prebuilts/apk/app_arm64.apk",
expected: "verify_uses_libraries/apk/app_arm64.apk",
},
{
name: "no matching arch",
@@ -321,7 +321,7 @@ func TestAndroidAppImport_ArchVariants(t *testing.T) {
},
}
`,
expected: "prebuilts/apk/app.apk",
expected: "verify_uses_libraries/apk/app.apk",
},
{
name: "no matching arch without default",
@@ -359,7 +359,7 @@ func TestAndroidAppImport_ArchVariants(t *testing.T) {
if len(matches) != 2 {
t.Errorf("failed to extract the src apk path from %q", jniRuleCommand)
}
if test.expected != matches[1] {
if strings.HasSuffix(matches[1], test.expected) {
t.Errorf("wrong src apk, expected: %q got: %q", test.expected, matches[1])
}
}