summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2020-06-18 15:52:01 -0700
committerColin Cross <ccross@android.com>2020-06-18 15:58:32 -0700
commit0b67a8bd0fc87c7c584d165abfeeb9314ce22f18 (patch)
tree90ca979ab904316b77221911142a1c2d38242115 /java/java.go
parent9ca38d22a49127901dadb14ffa093e29a2942f2d (diff)
Allow kotlin modules to skip packaging the kotlin stdlib
Host tools like lint may package their own version of the kotlin stdlib, and any jars loaded by them shouldn't contain the platform version. Add a static_kotlin_stdlib property that defaults to true to allow building the module without staticalling including the kotlin stdlib. Bug: 153485543 Test: m ApiFinder Change-Id: I7da78ef493806ce4ab0050e4ee9e8d330b0509c8
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/java/java.go b/java/java.go
index 3ce25759a..7ef55c97e 100644
--- a/java/java.go
+++ b/java/java.go
@@ -253,6 +253,9 @@ type CompilerProperties struct {
// List of files to include in the META-INF/services folder of the resulting jar.
Services []string `android:"path,arch_variant"`
+
+ // If true, package the kotlin stdlib into the jar. Defaults to true.
+ Static_kotlin_stdlib *bool `android:"arch_variant"`
}
type CompilerDeviceProperties struct {
@@ -1368,9 +1371,11 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
// Make javac rule depend on the kotlinc rule
flags.classpath = append(flags.classpath, kotlinJar)
- // Jar kotlin classes into the final jar after javac
kotlinJars = append(kotlinJars, kotlinJar)
- kotlinJars = append(kotlinJars, deps.kotlinStdlib...)
+ // Jar kotlin classes into the final jar after javac
+ if BoolDefault(j.properties.Static_kotlin_stdlib, true) {
+ kotlinJars = append(kotlinJars, deps.kotlinStdlib...)
+ }
}
jars := append(android.Paths(nil), kotlinJars...)