summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dave Mankoff <mankoff@google.com> 2024-10-02 18:47:24 +0000
committer Dave Mankoff <mankoff@google.com> 2024-11-01 14:55:11 +0000
commit0a3ef84335088feccba395822a66a13b7eb49faa (patch)
tree95c0c6ca149597143814c5c33e9d67e8f6a5fde2
parent840880cf7627d2342f78c9b25419eaf059b43799 (diff)
Change compose Compiler. New Soong Exclude_common_Srcs.
Default the kotlin compiler to use language-version 1.9, as the kotlin compiler is being upgraded to 2.0.21, but not all of the code yet compiles with 2.0. Test: m Bug: 369137871 Change-Id: I1539860eaa39c858fe6f327a434a2e93f4e05018
-rw-r--r--java/base.go7
-rw-r--r--java/config/kotlin.go2
-rw-r--r--java/kotlin_test.go4
3 files changed, 8 insertions, 5 deletions
diff --git a/java/base.go b/java/base.go
index 8dad2d9ad..c7702395f 100644
--- a/java/base.go
+++ b/java/base.go
@@ -60,6 +60,9 @@ type CommonProperties struct {
// This is most useful in the arch/multilib variants to remove non-common files
Exclude_srcs []string `android:"path,arch_variant"`
+ // list of Kotlin source files that should excluded from the list of common_srcs.
+ Exclude_common_srcs []string `android:"path,arch_variant"`
+
// list of directories containing Java resources
Java_resource_dirs []string `android:"arch_variant"`
@@ -918,7 +921,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
if j.useCompose(ctx) {
ctx.AddVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(), kotlinPluginTag,
- "androidx.compose.compiler_compiler-hosted-plugin")
+ "kotlin-compose-compiler-plugin")
}
}
@@ -1178,7 +1181,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
flags = protoFlags(ctx, &j.properties, &j.protoProperties, flags)
}
- kotlinCommonSrcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Common_srcs, nil)
+ kotlinCommonSrcFiles := android.PathsForModuleSrcExcludes(ctx, j.properties.Common_srcs, j.properties.Exclude_common_srcs)
if len(kotlinCommonSrcFiles.FilterOutByExt(".kt")) > 0 {
ctx.PropertyErrorf("common_srcs", "common_srcs must be .kt files")
}
diff --git a/java/config/kotlin.go b/java/config/kotlin.go
index 302d021db..bf4c886d1 100644
--- a/java/config/kotlin.go
+++ b/java/config/kotlin.go
@@ -49,7 +49,7 @@ func init() {
"-J--add-opens=java.base/java.util=ALL-UNNAMED", // https://youtrack.jetbrains.com/issue/KT-43704
}, " "))
- pctx.StaticVariable("KotlincGlobalFlags", strings.Join([]string{}, " "))
+ pctx.StaticVariable("KotlincGlobalFlags", strings.Join([]string{"-language-version 1.9"}, " "))
// Use KotlincKytheGlobalFlags to prevent kotlinc version skew issues between android and
// g3 kythe indexers.
// This is necessary because there might be instances of kotlin code in android
diff --git a/java/kotlin_test.go b/java/kotlin_test.go
index 45eac0134..ad8734d62 100644
--- a/java/kotlin_test.go
+++ b/java/kotlin_test.go
@@ -501,7 +501,7 @@ func TestKotlinCompose(t *testing.T) {
}
kotlin_plugin {
- name: "androidx.compose.compiler_compiler-hosted-plugin",
+ name: "kotlin-compose-compiler-plugin",
}
java_library {
@@ -523,7 +523,7 @@ func TestKotlinCompose(t *testing.T) {
buildOS := result.Config.BuildOS.String()
- composeCompiler := result.ModuleForTests("androidx.compose.compiler_compiler-hosted-plugin", buildOS+"_common").Rule("combineJar").Output
+ composeCompiler := result.ModuleForTests("kotlin-compose-compiler-plugin", buildOS+"_common").Rule("combineJar").Output
withCompose := result.ModuleForTests("withcompose", "android_common")
noCompose := result.ModuleForTests("nocompose", "android_common")