Merge "Allow non-SDK Java libraries to masquerade as <uses-library>."
This commit is contained in:
@@ -378,6 +378,10 @@ func aaptLibs(ctx android.ModuleContext, sdkContext sdkContext) (transitiveStati
|
|||||||
exportPackage = aarDep.ExportPackage()
|
exportPackage = aarDep.ExportPackage()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if dep, ok := module.(Dependency); ok {
|
||||||
|
sdkLibraries.AddLibraryPaths(dep.ExportedSdkLibs())
|
||||||
|
}
|
||||||
|
|
||||||
switch ctx.OtherModuleDependencyTag(module) {
|
switch ctx.OtherModuleDependencyTag(module) {
|
||||||
case instrumentationForTag:
|
case instrumentationForTag:
|
||||||
// Nothing, instrumentationForTag is treated as libTag for javac but not for aapt2.
|
// Nothing, instrumentationForTag is treated as libTag for javac but not for aapt2.
|
||||||
@@ -399,9 +403,6 @@ func aaptLibs(ctx android.ModuleContext, sdkContext sdkContext) (transitiveStati
|
|||||||
sharedLibs = append(sharedLibs, exportPackage)
|
sharedLibs = append(sharedLibs, exportPackage)
|
||||||
}
|
}
|
||||||
case staticLibTag:
|
case staticLibTag:
|
||||||
if dep, ok := module.(Dependency); ok {
|
|
||||||
sdkLibraries.AddLibraryPaths(dep.ExportedSdkLibs())
|
|
||||||
}
|
|
||||||
if exportPackage != nil {
|
if exportPackage != nil {
|
||||||
transitiveStaticLibs = append(transitiveStaticLibs, aarDep.ExportedStaticPackages()...)
|
transitiveStaticLibs = append(transitiveStaticLibs, aarDep.ExportedStaticPackages()...)
|
||||||
transitiveStaticLibs = append(transitiveStaticLibs, exportPackage)
|
transitiveStaticLibs = append(transitiveStaticLibs, exportPackage)
|
||||||
|
13
java/app.go
13
java/app.go
@@ -284,8 +284,6 @@ type AndroidApp struct {
|
|||||||
aapt
|
aapt
|
||||||
android.OverridableModuleBase
|
android.OverridableModuleBase
|
||||||
|
|
||||||
usesLibrary usesLibrary
|
|
||||||
|
|
||||||
certificate Certificate
|
certificate Certificate
|
||||||
|
|
||||||
appProperties appProperties
|
appProperties appProperties
|
||||||
@@ -1018,8 +1016,7 @@ func AndroidAppFactory() android.Module {
|
|||||||
module.AddProperties(
|
module.AddProperties(
|
||||||
&module.aaptProperties,
|
&module.aaptProperties,
|
||||||
&module.appProperties,
|
&module.appProperties,
|
||||||
&module.overridableAppProperties,
|
&module.overridableAppProperties)
|
||||||
&module.usesLibrary.usesLibraryProperties)
|
|
||||||
|
|
||||||
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
|
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
|
||||||
android.InitDefaultableModule(module)
|
android.InitDefaultableModule(module)
|
||||||
@@ -1140,7 +1137,6 @@ func AndroidTestFactory() android.Module {
|
|||||||
&module.appProperties,
|
&module.appProperties,
|
||||||
&module.appTestProperties,
|
&module.appTestProperties,
|
||||||
&module.overridableAppProperties,
|
&module.overridableAppProperties,
|
||||||
&module.usesLibrary.usesLibraryProperties,
|
|
||||||
&module.testProperties)
|
&module.testProperties)
|
||||||
|
|
||||||
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
|
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
|
||||||
@@ -1189,8 +1185,7 @@ func AndroidTestHelperAppFactory() android.Module {
|
|||||||
&module.aaptProperties,
|
&module.aaptProperties,
|
||||||
&module.appProperties,
|
&module.appProperties,
|
||||||
&module.appTestHelperAppProperties,
|
&module.appTestHelperAppProperties,
|
||||||
&module.overridableAppProperties,
|
&module.overridableAppProperties)
|
||||||
&module.usesLibrary.usesLibraryProperties)
|
|
||||||
|
|
||||||
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
|
android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
|
||||||
android.InitDefaultableModule(module)
|
android.InitDefaultableModule(module)
|
||||||
@@ -1704,7 +1699,6 @@ func AndroidTestImportFactory() android.Module {
|
|||||||
module := &AndroidTestImport{}
|
module := &AndroidTestImport{}
|
||||||
module.AddProperties(&module.properties)
|
module.AddProperties(&module.properties)
|
||||||
module.AddProperties(&module.dexpreoptProperties)
|
module.AddProperties(&module.dexpreoptProperties)
|
||||||
module.AddProperties(&module.usesLibrary.usesLibraryProperties)
|
|
||||||
module.AddProperties(&module.testProperties)
|
module.AddProperties(&module.testProperties)
|
||||||
module.AddProperties(&module.testImportProperties)
|
module.AddProperties(&module.testImportProperties)
|
||||||
module.populateAllVariantStructs()
|
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
|
// 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.
|
// to true if either uses_libs or optional_uses_libs is set. Will unconditionally default to true in the future.
|
||||||
Enforce_uses_libs *bool
|
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
|
// usesLibrary provides properties and helper functions for AndroidApp and AndroidAppImport to verify that the
|
||||||
|
@@ -437,6 +437,7 @@ type Module struct {
|
|||||||
hiddenAPI
|
hiddenAPI
|
||||||
dexer
|
dexer
|
||||||
dexpreopter
|
dexpreopter
|
||||||
|
usesLibrary
|
||||||
linter
|
linter
|
||||||
|
|
||||||
// list of the xref extraction files
|
// list of the xref extraction files
|
||||||
@@ -452,6 +453,7 @@ func (j *Module) addHostProperties() {
|
|||||||
j.AddProperties(
|
j.AddProperties(
|
||||||
&j.properties,
|
&j.properties,
|
||||||
&j.protoProperties,
|
&j.protoProperties,
|
||||||
|
&j.usesLibraryProperties,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1976,6 +1978,11 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
// added to the Android manifest.
|
// added to the Android manifest.
|
||||||
j.exportedSdkLibs.MaybeAddLibraryPath(ctx, j.OptionalImplicitSdkLibrary(), j.DexJarBuildPath(), j.DexJarInstallPath())
|
j.exportedSdkLibs.MaybeAddLibraryPath(ctx, j.OptionalImplicitSdkLibrary(), j.DexJarBuildPath(), j.DexJarInstallPath())
|
||||||
|
|
||||||
|
// If this is a non-SDK uses-library, export itself.
|
||||||
|
if proptools.Bool(j.usesLibraryProperties.Is_uses_lib) {
|
||||||
|
j.exportedSdkLibs.AddLibraryPath(ctx, ctx.ModuleName(), j.DexJarBuildPath(), j.DexJarInstallPath())
|
||||||
|
}
|
||||||
|
|
||||||
j.distFiles = j.GenerateTaggedDistFiles(ctx)
|
j.distFiles = j.GenerateTaggedDistFiles(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user