Add support for android_library modules
Add support for compiling android_library modules into AARs,
and refactor app support on top of it.
Bug: 73724997
Test: app_test.go
Change-Id: I1dfac5fffe577c6680bc4709147b2061eb7d819c
diff --git a/java/java.go b/java/java.go
index 04ce469..bc58df3 100644
--- a/java/java.go
+++ b/java/java.go
@@ -334,6 +334,8 @@
module string
systemModules string
+ frameworkResModule string
+
jar android.Path
aidl android.Path
}
@@ -423,11 +425,12 @@
}
}
- toModule := func(m string) sdkDep {
+ toModule := func(m, r string) sdkDep {
ret := sdkDep{
- useModule: true,
- module: m,
- systemModules: m + "_system_modules",
+ useModule: true,
+ module: m,
+ systemModules: m + "_system_modules",
+ frameworkResModule: r,
}
if m == "core.current.stubs" {
ret.systemModules = "core-system-modules"
@@ -442,16 +445,17 @@
switch v {
case "":
return sdkDep{
- useDefaultLibs: true,
+ useDefaultLibs: true,
+ frameworkResModule: "framework-res",
}
case "current":
- return toModule("android_stubs_current")
+ return toModule("android_stubs_current", "framework-res")
case "system_current":
- return toModule("android_system_stubs_current")
+ return toModule("android_system_stubs_current", "framework-res")
case "test_current":
- return toModule("android_test_stubs_current")
+ return toModule("android_test_stubs_current", "framework-res")
case "core_current":
- return toModule("core.current.stubs")
+ return toModule("core.current.stubs", "")
default:
return toFile(v)
}
@@ -681,7 +685,10 @@
tag := ctx.OtherModuleDependencyTag(module)
if to, ok := module.(*Library); ok {
- checkLinkType(ctx, j, to, tag.(dependencyTag))
+ switch tag {
+ case bootClasspathTag, libTag, staticLibTag:
+ checkLinkType(ctx, j, to, tag.(dependencyTag))
+ }
}
switch dep := module.(type) {
case Dependency: