dex_import can be added to apex

Bug:157886942
Test: m
Change-Id: Ida6f7bb784efe74cc1fa0e8d370eaee803f08b0f
Merged-In: Ida6f7bb784efe74cc1fa0e8d370eaee803f08b0f
This commit is contained in:
Jiyong Park
2020-06-01 21:39:15 +09:00
committed by Anton Hansson
parent 8383972ec0
commit 2cd081cf06
3 changed files with 25 additions and 13 deletions

View File

@@ -1670,7 +1670,8 @@ func apexFileForShBinary(ctx android.BaseModuleContext, sh *android.ShBinary) ap
}
type javaDependency interface {
java.Dependency
DexJar() android.Path
JacocoReportClassesFile() android.Path
Stem() string
}
@@ -1954,23 +1955,16 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
ctx.PropertyErrorf("binaries", "%q is neither cc_binary, (embedded) py_binary, (host) blueprint_go_binary, (host) bootstrap_go_binary, nor sh_binary", depName)
}
case javaLibTag:
if javaLib, ok := child.(*java.Library); ok {
af := apexFileForJavaLibrary(ctx, javaLib, javaLib)
if !af.Ok() {
ctx.PropertyErrorf("java_libs", "%q is not configured to be compiled into dex", depName)
} else {
filesInfo = append(filesInfo, af)
return true // track transitive dependencies
}
} else if sdkLib, ok := child.(*java.SdkLibrary); ok {
af := apexFileForJavaLibrary(ctx, sdkLib, sdkLib)
switch child.(type) {
case *java.Library, *java.SdkLibrary, *java.DexImport:
af := apexFileForJavaLibrary(ctx, child.(javaDependency), child.(android.Module))
if !af.Ok() {
ctx.PropertyErrorf("java_libs", "%q is not configured to be compiled into dex", depName)
return false
}
filesInfo = append(filesInfo, af)
return true // track transitive dependencies
} else {
default:
ctx.PropertyErrorf("java_libs", "%q of type %q is not supported", depName, ctx.OtherModuleType(child))
}
case androidAppTag: