Allow non-SDK Java libraries to masquerade as <uses-library>.

Extend usesLibraryProperties with a boolean is_uses_lib property and
move these properties from java.AndroidApp to java.Module to allow
java.Library modules set the new propery and be recognized as
<uses-library> by Soong.

Bug: 132357300
Test: lunch cf_x86_phone-userdebug && m
Change-Id: I01cd5e0da3dd543c1c0597249d37d0914b213ca7
This commit is contained in:
Ulya Trafimovich
2020-09-01 17:33:48 +01:00
parent 588aae727b
commit 21a7375205
3 changed files with 16 additions and 11 deletions

View File

@@ -284,8 +284,6 @@ type AndroidApp struct {
aapt
android.OverridableModuleBase
usesLibrary usesLibrary
certificate Certificate
appProperties appProperties
@@ -1018,8 +1016,7 @@ func AndroidAppFactory() android.Module {
module.AddProperties(
&module.aaptProperties,
&module.appProperties,
&module.overridableAppProperties,
&module.usesLibrary.usesLibraryProperties)
&module.overridableAppProperties)
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
android.InitDefaultableModule(module)
@@ -1140,7 +1137,6 @@ func AndroidTestFactory() android.Module {
&module.appProperties,
&module.appTestProperties,
&module.overridableAppProperties,
&module.usesLibrary.usesLibraryProperties,
&module.testProperties)
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
@@ -1189,8 +1185,7 @@ func AndroidTestHelperAppFactory() android.Module {
&module.aaptProperties,
&module.appProperties,
&module.appTestHelperAppProperties,
&module.overridableAppProperties,
&module.usesLibrary.usesLibraryProperties)
&module.overridableAppProperties)
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
android.InitDefaultableModule(module)
@@ -1704,7 +1699,6 @@ func AndroidTestImportFactory() android.Module {
module := &AndroidTestImport{}
module.AddProperties(&module.properties)
module.AddProperties(&module.dexpreoptProperties)
module.AddProperties(&module.usesLibrary.usesLibraryProperties)
module.AddProperties(&module.testProperties)
module.AddProperties(&module.testImportProperties)
module.populateAllVariantStructs()
@@ -1888,6 +1882,9 @@ type UsesLibraryProperties struct {
// If true, the list of uses_libs and optional_uses_libs modules must match the AndroidManifest.xml file. Defaults
// to true if either uses_libs or optional_uses_libs is set. Will unconditionally default to true in the future.
Enforce_uses_libs *bool
// If the library itself is a uses-library (this is needed for non-SDK libraries).
Is_uses_lib *bool
}
// usesLibrary provides properties and helper functions for AndroidApp and AndroidAppImport to verify that the