Merge "Revert "Split Java libraries per apex""
am: 38b9f76d63
Change-Id: Ifda11df70f28856003fcacd2bc93c92a05824606
This commit is contained in:
commit
d4d6f38547
|
@ -91,8 +91,6 @@ func testApexContext(t *testing.T, bp string) (*android.TestContext, android.Con
|
||||||
ctx.RegisterModuleType("sh_binary", android.ModuleFactoryAdaptor(android.ShBinaryFactory))
|
ctx.RegisterModuleType("sh_binary", android.ModuleFactoryAdaptor(android.ShBinaryFactory))
|
||||||
ctx.RegisterModuleType("android_app_certificate", android.ModuleFactoryAdaptor(java.AndroidAppCertificateFactory))
|
ctx.RegisterModuleType("android_app_certificate", android.ModuleFactoryAdaptor(java.AndroidAppCertificateFactory))
|
||||||
ctx.RegisterModuleType("filegroup", android.ModuleFactoryAdaptor(android.FileGroupFactory))
|
ctx.RegisterModuleType("filegroup", android.ModuleFactoryAdaptor(android.FileGroupFactory))
|
||||||
ctx.RegisterModuleType("java_library", android.ModuleFactoryAdaptor(java.LibraryFactory))
|
|
||||||
|
|
||||||
ctx.PreArchMutators(func(ctx android.RegisterMutatorsContext) {
|
ctx.PreArchMutators(func(ctx android.RegisterMutatorsContext) {
|
||||||
ctx.BottomUp("prebuilts", android.PrebuiltMutator).Parallel()
|
ctx.BottomUp("prebuilts", android.PrebuiltMutator).Parallel()
|
||||||
})
|
})
|
||||||
|
@ -207,7 +205,6 @@ func testApexContext(t *testing.T, bp string) (*android.TestContext, android.Con
|
||||||
"mytest3.cpp": nil,
|
"mytest3.cpp": nil,
|
||||||
"myprebuilt": nil,
|
"myprebuilt": nil,
|
||||||
"my_include": nil,
|
"my_include": nil,
|
||||||
"foo/bar/MyClass.java": nil,
|
|
||||||
"vendor/foo/devkeys/test.x509.pem": nil,
|
"vendor/foo/devkeys/test.x509.pem": nil,
|
||||||
"vendor/foo/devkeys/test.pk8": nil,
|
"vendor/foo/devkeys/test.pk8": nil,
|
||||||
"testkey.x509.pem": nil,
|
"testkey.x509.pem": nil,
|
||||||
|
@ -283,8 +280,7 @@ func TestBasicApex(t *testing.T) {
|
||||||
both: {
|
both: {
|
||||||
binaries: ["foo",],
|
binaries: ["foo",],
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
java_libs: ["myjar"],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
apex {
|
apex {
|
||||||
|
@ -342,23 +338,6 @@ func TestBasicApex(t *testing.T) {
|
||||||
stl: "none",
|
stl: "none",
|
||||||
notice: "custom_notice",
|
notice: "custom_notice",
|
||||||
}
|
}
|
||||||
|
|
||||||
java_library {
|
|
||||||
name: "myjar",
|
|
||||||
srcs: ["foo/bar/MyClass.java"],
|
|
||||||
sdk_version: "none",
|
|
||||||
system_modules: "none",
|
|
||||||
compile_dex: true,
|
|
||||||
static_libs: ["myotherjar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_library {
|
|
||||||
name: "myotherjar",
|
|
||||||
srcs: ["foo/bar/MyClass.java"],
|
|
||||||
sdk_version: "none",
|
|
||||||
system_modules: "none",
|
|
||||||
compile_dex: true,
|
|
||||||
}
|
|
||||||
`)
|
`)
|
||||||
|
|
||||||
apexRule := ctx.ModuleForTests("myapex", "android_common_myapex").Rule("apexRule")
|
apexRule := ctx.ModuleForTests("myapex", "android_common_myapex").Rule("apexRule")
|
||||||
|
@ -375,24 +354,17 @@ func TestBasicApex(t *testing.T) {
|
||||||
|
|
||||||
// Ensure that apex variant is created for the direct dep
|
// Ensure that apex variant is created for the direct dep
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib"), "android_arm64_armv8-a_core_shared_myapex")
|
ensureListContains(t, ctx.ModuleVariantsForTests("mylib"), "android_arm64_armv8-a_core_shared_myapex")
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("myjar"), "android_common_myapex")
|
|
||||||
|
|
||||||
// Ensure that apex variant is created for the indirect dep
|
// Ensure that apex variant is created for the indirect dep
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib2"), "android_arm64_armv8-a_core_shared_myapex")
|
ensureListContains(t, ctx.ModuleVariantsForTests("mylib2"), "android_arm64_armv8-a_core_shared_myapex")
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("myotherjar"), "android_common_myapex")
|
|
||||||
|
|
||||||
// Ensure that both direct and indirect deps are copied into apex
|
// Ensure that both direct and indirect deps are copied into apex
|
||||||
ensureContains(t, copyCmds, "image.apex/lib64/mylib.so")
|
ensureContains(t, copyCmds, "image.apex/lib64/mylib.so")
|
||||||
ensureContains(t, copyCmds, "image.apex/lib64/mylib2.so")
|
ensureContains(t, copyCmds, "image.apex/lib64/mylib2.so")
|
||||||
ensureContains(t, copyCmds, "image.apex/javalib/myjar.jar")
|
|
||||||
// .. but not for java libs
|
|
||||||
ensureNotContains(t, copyCmds, "image.apex/javalib/myotherjar.jar")
|
|
||||||
|
|
||||||
// Ensure that the platform variant ends with _core_shared or _common
|
// Ensure that the platform variant ends with _core_shared
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib"), "android_arm64_armv8-a_core_shared")
|
ensureListContains(t, ctx.ModuleVariantsForTests("mylib"), "android_arm64_armv8-a_core_shared")
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib2"), "android_arm64_armv8-a_core_shared")
|
ensureListContains(t, ctx.ModuleVariantsForTests("mylib2"), "android_arm64_armv8-a_core_shared")
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("myjar"), "android_common")
|
|
||||||
ensureListContains(t, ctx.ModuleVariantsForTests("myotherjar"), "android_common")
|
|
||||||
|
|
||||||
// Ensure that all symlinks are present.
|
// Ensure that all symlinks are present.
|
||||||
found_foo_link_64 := false
|
found_foo_link_64 := false
|
||||||
|
|
|
@ -55,11 +55,6 @@ func (library *Library) AndroidMkHostDex(w io.Writer, name string, data android.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (library *Library) AndroidMk() android.AndroidMkData {
|
func (library *Library) AndroidMk() android.AndroidMkData {
|
||||||
if !library.IsForPlatform() {
|
|
||||||
return android.AndroidMkData{
|
|
||||||
Disabled: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return android.AndroidMkData{
|
return android.AndroidMkData{
|
||||||
Class: "JAVA_LIBRARIES",
|
Class: "JAVA_LIBRARIES",
|
||||||
OutputFile: android.OptionalPathForPath(library.outputFile),
|
OutputFile: android.OptionalPathForPath(library.outputFile),
|
||||||
|
@ -146,11 +141,6 @@ func (j *TestHelperLibrary) AndroidMk() android.AndroidMkData {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (prebuilt *Import) AndroidMk() android.AndroidMkData {
|
func (prebuilt *Import) AndroidMk() android.AndroidMkData {
|
||||||
if !prebuilt.IsForPlatform() {
|
|
||||||
return android.AndroidMkData{
|
|
||||||
Disabled: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return android.AndroidMkData{
|
return android.AndroidMkData{
|
||||||
Class: "JAVA_LIBRARIES",
|
Class: "JAVA_LIBRARIES",
|
||||||
OutputFile: android.OptionalPathForPath(prebuilt.combinedClasspathFile),
|
OutputFile: android.OptionalPathForPath(prebuilt.combinedClasspathFile),
|
||||||
|
@ -167,11 +157,6 @@ func (prebuilt *Import) AndroidMk() android.AndroidMkData {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (prebuilt *DexImport) AndroidMk() android.AndroidMkData {
|
func (prebuilt *DexImport) AndroidMk() android.AndroidMkData {
|
||||||
if !prebuilt.IsForPlatform() {
|
|
||||||
return android.AndroidMkData{
|
|
||||||
Disabled: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return android.AndroidMkData{
|
return android.AndroidMkData{
|
||||||
Class: "JAVA_LIBRARIES",
|
Class: "JAVA_LIBRARIES",
|
||||||
OutputFile: android.OptionalPathForPath(prebuilt.maybeStrippedDexJarFile),
|
OutputFile: android.OptionalPathForPath(prebuilt.maybeStrippedDexJarFile),
|
||||||
|
|
|
@ -152,14 +152,6 @@ func stubFlagsRule(ctx android.SingletonContext) {
|
||||||
// Collect dex jar paths for modules that had hiddenapi encode called on them.
|
// Collect dex jar paths for modules that had hiddenapi encode called on them.
|
||||||
if h, ok := module.(hiddenAPIIntf); ok {
|
if h, ok := module.(hiddenAPIIntf); ok {
|
||||||
if jar := h.bootDexJar(); jar != nil {
|
if jar := h.bootDexJar(); jar != nil {
|
||||||
// For a java lib included in an APEX, only take the one built for
|
|
||||||
// the platform variant, and skip the variants for APEXes.
|
|
||||||
// Otherwise, the hiddenapi tool will complain about duplicated classes
|
|
||||||
if a, ok := module.(android.ApexModule); ok {
|
|
||||||
if android.InAnyApex(module.Name()) && !a.IsForPlatform() {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
bootDexJars = append(bootDexJars, jar)
|
bootDexJars = append(bootDexJars, jar)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
11
java/java.go
11
java/java.go
|
@ -267,7 +267,6 @@ func (me *CompilerDeviceProperties) EffectiveOptimizeEnabled() bool {
|
||||||
type Module struct {
|
type Module struct {
|
||||||
android.ModuleBase
|
android.ModuleBase
|
||||||
android.DefaultableModuleBase
|
android.DefaultableModuleBase
|
||||||
android.ApexModuleBase
|
|
||||||
|
|
||||||
properties CompilerProperties
|
properties CompilerProperties
|
||||||
protoProperties android.ProtoProperties
|
protoProperties android.ProtoProperties
|
||||||
|
@ -1582,7 +1581,6 @@ func LibraryFactory() android.Module {
|
||||||
&module.Module.protoProperties)
|
&module.Module.protoProperties)
|
||||||
|
|
||||||
InitJavaModule(module, android.HostAndDeviceSupported)
|
InitJavaModule(module, android.HostAndDeviceSupported)
|
||||||
android.InitApexModule(module)
|
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1605,7 +1603,6 @@ func LibraryHostFactory() android.Module {
|
||||||
module.Module.properties.Installable = proptools.BoolPtr(true)
|
module.Module.properties.Installable = proptools.BoolPtr(true)
|
||||||
|
|
||||||
InitJavaModule(module, android.HostSupported)
|
InitJavaModule(module, android.HostSupported)
|
||||||
android.InitApexModule(module)
|
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1861,7 +1858,6 @@ type ImportProperties struct {
|
||||||
type Import struct {
|
type Import struct {
|
||||||
android.ModuleBase
|
android.ModuleBase
|
||||||
android.DefaultableModuleBase
|
android.DefaultableModuleBase
|
||||||
android.ApexModuleBase
|
|
||||||
prebuilt android.Prebuilt
|
prebuilt android.Prebuilt
|
||||||
|
|
||||||
properties ImportProperties
|
properties ImportProperties
|
||||||
|
@ -2018,7 +2014,6 @@ func ImportFactory() android.Module {
|
||||||
|
|
||||||
android.InitPrebuiltModule(module, &module.properties.Jars)
|
android.InitPrebuiltModule(module, &module.properties.Jars)
|
||||||
InitJavaModule(module, android.HostAndDeviceSupported)
|
InitJavaModule(module, android.HostAndDeviceSupported)
|
||||||
android.InitApexModule(module)
|
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2034,7 +2029,6 @@ func ImportFactoryHost() android.Module {
|
||||||
|
|
||||||
android.InitPrebuiltModule(module, &module.properties.Jars)
|
android.InitPrebuiltModule(module, &module.properties.Jars)
|
||||||
InitJavaModule(module, android.HostSupported)
|
InitJavaModule(module, android.HostSupported)
|
||||||
android.InitApexModule(module)
|
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2047,7 +2041,6 @@ type DexImportProperties struct {
|
||||||
type DexImport struct {
|
type DexImport struct {
|
||||||
android.ModuleBase
|
android.ModuleBase
|
||||||
android.DefaultableModuleBase
|
android.DefaultableModuleBase
|
||||||
android.ApexModuleBase
|
|
||||||
prebuilt android.Prebuilt
|
prebuilt android.Prebuilt
|
||||||
|
|
||||||
properties DexImportProperties
|
properties DexImportProperties
|
||||||
|
@ -2139,7 +2132,6 @@ func DexImportFactory() android.Module {
|
||||||
|
|
||||||
android.InitPrebuiltModule(module, &module.properties.Jars)
|
android.InitPrebuiltModule(module, &module.properties.Jars)
|
||||||
InitJavaModule(module, android.DeviceSupported)
|
InitJavaModule(module, android.DeviceSupported)
|
||||||
android.InitApexModule(module)
|
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2149,7 +2141,6 @@ func DexImportFactory() android.Module {
|
||||||
type Defaults struct {
|
type Defaults struct {
|
||||||
android.ModuleBase
|
android.ModuleBase
|
||||||
android.DefaultsModuleBase
|
android.DefaultsModuleBase
|
||||||
android.ApexModuleBase
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// java_defaults provides a set of properties that can be inherited by other java or android modules.
|
// java_defaults provides a set of properties that can be inherited by other java or android modules.
|
||||||
|
@ -2208,7 +2199,7 @@ func DefaultsFactory(props ...interface{}) android.Module {
|
||||||
)
|
)
|
||||||
|
|
||||||
android.InitDefaultsModule(module)
|
android.InitDefaultsModule(module)
|
||||||
android.InitApexModule(module)
|
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue