apex: drop java_import
support
java_import doesn't support dex jar which is necessary to be packaged in an APEX. Supporting this would require non-trivial work. By the way java_import is not used and there is a workaround.(defining java_library and static-linking with it) We drop the support for `java_import` in APEX. Bug: 139175488 Test: m (soong tests amended) Change-Id: I924386571079090c701276d87f665ce7fbb6f074
This commit is contained in:
parent
7e143af6ee
commit
5a80d9f352
2 changed files with 1 additions and 29 deletions
19
apex/apex.go
19
apex/apex.go
|
@ -884,18 +884,6 @@ func apexFileForJavaLibrary(ctx android.BaseModuleContext, lib javaLibrary) apex
|
|||
return newApexFile(ctx, fileToCopy, lib.Name(), dirInApex, javaSharedLib, lib)
|
||||
}
|
||||
|
||||
func apexFileForPrebuiltJavaLibrary(ctx android.BaseModuleContext, java *java.Import) apexFile {
|
||||
dirInApex := "javalib"
|
||||
// The output is only one, but for some reason, ImplementationJars returns Paths, not Path
|
||||
implJars := java.ImplementationJars()
|
||||
if len(implJars) != 1 {
|
||||
panic(fmt.Errorf("java.ImplementationJars() must return single Path, but got: %s",
|
||||
strings.Join(implJars.Strings(), ", ")))
|
||||
}
|
||||
fileToCopy := implJars[0]
|
||||
return newApexFile(ctx, fileToCopy, java.Name(), dirInApex, javaSharedLib, java)
|
||||
}
|
||||
|
||||
func apexFileForPrebuiltEtc(ctx android.BaseModuleContext, prebuilt android.PrebuiltEtcModule, depName string) apexFile {
|
||||
dirInApex := filepath.Join("etc", prebuilt.SubDir())
|
||||
fileToCopy := prebuilt.OutputFile()
|
||||
|
@ -1043,13 +1031,6 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||
}
|
||||
filesInfo = append(filesInfo, newApexFile(ctx, pf, pf.Base(), "etc/permissions", etc, nil))
|
||||
return true // track transitive dependencies
|
||||
} else if javaLib, ok := child.(*java.Import); ok {
|
||||
af := apexFileForPrebuiltJavaLibrary(ctx, javaLib)
|
||||
if !af.Ok() {
|
||||
ctx.PropertyErrorf("java_libs", "%q does not have a jar output", depName)
|
||||
} else {
|
||||
filesInfo = append(filesInfo, af)
|
||||
}
|
||||
} else {
|
||||
ctx.PropertyErrorf("java_libs", "%q of type %q is not supported", depName, ctx.OtherModuleType(child))
|
||||
}
|
||||
|
|
|
@ -372,7 +372,7 @@ func TestBasicApex(t *testing.T) {
|
|||
binaries: ["foo",],
|
||||
}
|
||||
},
|
||||
java_libs: ["myjar", "myprebuiltjar"],
|
||||
java_libs: ["myjar"],
|
||||
}
|
||||
|
||||
apex {
|
||||
|
@ -447,12 +447,6 @@ func TestBasicApex(t *testing.T) {
|
|||
system_modules: "none",
|
||||
compile_dex: true,
|
||||
}
|
||||
|
||||
java_import {
|
||||
name: "myprebuiltjar",
|
||||
jars: ["prebuilt.jar"],
|
||||
installable: true,
|
||||
}
|
||||
`)
|
||||
|
||||
apexRule := ctx.ModuleForTests("myapex", "android_common_myapex_image").Rule("apexRule")
|
||||
|
@ -470,7 +464,6 @@ func TestBasicApex(t *testing.T) {
|
|||
// Ensure that apex variant is created for the direct dep
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib"), "android_arm64_armv8-a_shared_myapex")
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("myjar"), "android_common_myapex")
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("myprebuiltjar"), "android_common_myapex")
|
||||
|
||||
// Ensure that apex variant is created for the indirect dep
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib2"), "android_arm64_armv8-a_shared_myapex")
|
||||
|
@ -480,7 +473,6 @@ func TestBasicApex(t *testing.T) {
|
|||
ensureContains(t, copyCmds, "image.apex/lib64/mylib.so")
|
||||
ensureContains(t, copyCmds, "image.apex/lib64/mylib2.so")
|
||||
ensureContains(t, copyCmds, "image.apex/javalib/myjar.jar")
|
||||
ensureContains(t, copyCmds, "image.apex/javalib/myprebuiltjar.jar")
|
||||
// .. but not for java libs
|
||||
ensureNotContains(t, copyCmds, "image.apex/javalib/myotherjar.jar")
|
||||
|
||||
|
@ -489,7 +481,6 @@ func TestBasicApex(t *testing.T) {
|
|||
ensureListContains(t, ctx.ModuleVariantsForTests("mylib2"), "android_arm64_armv8-a_shared")
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("myjar"), "android_common")
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("myotherjar"), "android_common")
|
||||
ensureListContains(t, ctx.ModuleVariantsForTests("myprebuiltjar"), "android_common")
|
||||
|
||||
// Ensure that all symlinks are present.
|
||||
found_foo_link_64 := false
|
||||
|
|
Loading…
Reference in a new issue