diff options
author | 2024-10-02 18:47:24 +0000 | |
---|---|---|
committer | 2024-11-01 14:55:11 +0000 | |
commit | 0a3ef84335088feccba395822a66a13b7eb49faa (patch) | |
tree | 95c0c6ca149597143814c5c33e9d67e8f6a5fde2 | |
parent | 840880cf7627d2342f78c9b25419eaf059b43799 (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.go | 7 | ||||
-rw-r--r-- | java/config/kotlin.go | 2 | ||||
-rw-r--r-- | java/kotlin_test.go | 4 |
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") |