Add support for renamed kotlin stdlib.
Added new CompilerProperty flag, rename_kotlin_stdlib, which
allow to build kotlin libraries/binaries that use platform internal
version of kotlin stdlib (com.android.kotlin.*). This way, app-provided
kotlin standard library won't collide with version used internaly.
+ remove kotlinc-build.xml after compilation so it won't end up in the
result jar file
+ remove *.kotlin_module and *.kotlin_bultin filesfrom result jar file.
These files are needed only by kotlin-reflect library and
need more work to support kotlin-stdlib renaming.
Bug: 73281388
Test: java_test.go
Change-Id: Iae7ccb919e2ae9853b3f30f3dd447ebd01a1bed0
diff --git a/java/java_test.go b/java/java_test.go
index 6ef406f..6e3ada4 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -176,6 +176,8 @@
"bar-doc/b.java": nil,
"bar-doc/known_oj_tags.txt": nil,
"external/doclava/templates-sdk": nil,
+
+ "external/kotlinc/jarjar-rules.txt": nil,
}
for k, v := range fs {
@@ -755,6 +757,12 @@
name: "baz",
srcs: ["c.java"],
}
+
+ java_library {
+ name: "blorg",
+ renamed_kotlin_stdlib: true,
+ srcs: ["b.kt"],
+ }
`)
fooKotlinc := ctx.ModuleForTests("foo", "android_common").Rule("kotlinc")
@@ -797,6 +805,12 @@
t.Errorf(`expected %q in bar implicits %v`,
bazHeaderJar.Output.String(), barKotlinc.Implicits.Strings())
}
+
+ blorgRenamedJar := ctx.ModuleForTests("blorg", "android_common").Output("kotlin-renamed/blorg.jar")
+ if blorgRenamedJar.Implicit.String() != "external/kotlinc/jarjar-rules.txt" {
+ t.Errorf(`expected external/kotlinc/jarjar-rules.txt in blorg implicit %q`,
+ blorgRenamedJar.Implicit.String())
+ }
}
func TestTurbine(t *testing.T) {