Split Java libraries per apex

Just like native libs, a java library that is included in an APEX is
mutated for the APEX. This allows us to infer the context (e.g.
sdk_version, etc.) for building a java library in an APEX.

Bug: 138182343
Test: apex_test added
Change-Id: I9292ea097b98e74a8a794f164bd2bed3921d6337
This commit is contained in:
Jiyong Park
2019-07-18 17:00:45 +09:00
parent 1ecfa940d1
commit aa53324ac8
4 changed files with 63 additions and 3 deletions

View File

@@ -267,6 +267,7 @@ func (me *CompilerDeviceProperties) EffectiveOptimizeEnabled() bool {
type Module struct {
android.ModuleBase
android.DefaultableModuleBase
android.ApexModuleBase
properties CompilerProperties
protoProperties android.ProtoProperties
@@ -1581,6 +1582,7 @@ func LibraryFactory() android.Module {
&module.Module.protoProperties)
InitJavaModule(module, android.HostAndDeviceSupported)
android.InitApexModule(module)
return module
}
@@ -1603,6 +1605,7 @@ func LibraryHostFactory() android.Module {
module.Module.properties.Installable = proptools.BoolPtr(true)
InitJavaModule(module, android.HostSupported)
android.InitApexModule(module)
return module
}
@@ -1858,6 +1861,7 @@ type ImportProperties struct {
type Import struct {
android.ModuleBase
android.DefaultableModuleBase
android.ApexModuleBase
prebuilt android.Prebuilt
properties ImportProperties
@@ -2014,6 +2018,7 @@ func ImportFactory() android.Module {
android.InitPrebuiltModule(module, &module.properties.Jars)
InitJavaModule(module, android.HostAndDeviceSupported)
android.InitApexModule(module)
return module
}
@@ -2029,6 +2034,7 @@ func ImportFactoryHost() android.Module {
android.InitPrebuiltModule(module, &module.properties.Jars)
InitJavaModule(module, android.HostSupported)
android.InitApexModule(module)
return module
}
@@ -2041,6 +2047,7 @@ type DexImportProperties struct {
type DexImport struct {
android.ModuleBase
android.DefaultableModuleBase
android.ApexModuleBase
prebuilt android.Prebuilt
properties DexImportProperties
@@ -2132,6 +2139,7 @@ func DexImportFactory() android.Module {
android.InitPrebuiltModule(module, &module.properties.Jars)
InitJavaModule(module, android.DeviceSupported)
android.InitApexModule(module)
return module
}
@@ -2141,6 +2149,7 @@ func DexImportFactory() android.Module {
type Defaults struct {
android.ModuleBase
android.DefaultsModuleBase
android.ApexModuleBase
}
// java_defaults provides a set of properties that can be inherited by other java or android modules.
@@ -2199,7 +2208,7 @@ func DefaultsFactory(props ...interface{}) android.Module {
)
android.InitDefaultsModule(module)
android.InitApexModule(module)
return module
}