Skip to content

Commit aee3b21

Browse files
committed
⬆️ [Build]: Upgrade Compose/Kotlin/AGP
- Compose MPP 1.10.2, Kotlin 2.3.10, AGP 8.13.2, Gradle 8.13 - Fix Android lint ContextCastToActivity via LocalActivity - Verified: JAVA_HOME=jbr-21.0.6 ./gradlew build - Verified: JAVA_HOME=jbr-21.0.6 ./gradlew test
1 parent 826229b commit aee3b21

28 files changed

Lines changed: 126 additions & 66 deletions

File tree

.editorconfig

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,31 @@ ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
2222
ij_kotlin_packages_to_use_import_on_demand = unset
2323
# 允许小写文件名
2424
ktlint_standard_filename = disabled
25+
# 兼容历史代码:避免升级 ktlint 后引入大量样式破坏
26+
ktlint_standard_import-ordering = disabled
27+
ktlint_standard_max-line-length = disabled
28+
ktlint_standard_property-naming = disabled
29+
ktlint_standard_function-signature = disabled
30+
ktlint_standard_argument-list-wrapping = disabled
31+
ktlint_standard_no-blank-line-in-list = disabled
32+
ktlint_standard_no-multi-spaces = disabled
33+
ktlint_standard_no-trailing-spaces = disabled
34+
ktlint_standard_blank-line-before-declaration = disabled
35+
ktlint_standard_no-empty-first-line-in-class-body = disabled
36+
ktlint_standard_no-empty-first-line-in-method-block = disabled
37+
ktlint_standard_trailing-comma-on-call-site = disabled
38+
ktlint_standard_trailing-comma-on-declaration-site = disabled
2539
# 禁用函数签名多参数换行
2640
ktlint_function_signature_rule_force_multiline_when_parameter_count_greater_or_equal_than = 4
2741
# 函数签名与表达式同行
2842
ktlint_function_signature_body_expression_wrapping = default
2943
# 禁用多行表达式换行
3044
ktlint_standard_multiline-expression-wrapping = disabled
45+
# ktlint 1.x 新增/更严格规则:避免升级后因历史代码导致 lint 失败
46+
ktlint_standard_when-entry-bracing = disabled
47+
ktlint_standard_blank-line-between-when-conditions = disabled
48+
# Compose:允许 @Composable PascalCase 命名
49+
ktlint_function_naming_ignore_when_annotated_with = Composable
3150
# 函数体为表达式直接使用 = 替换return
3251
ktlint_standard_function-expression-body = enabled
3352
ktlint_standard_binary-expression-wrapping = disabled
@@ -37,3 +56,26 @@ ktlint_standard_class-signature = disabled
3756
ktlint_standard_chain-method-continuation = disabled
3857
# 通配符导入
3958
ktlint_standard_no-wildcard-imports = disabled
59+
60+
# 历史代码中大量使用 /** */ 作为普通块注释,避免升级 ktlint 后被当作 KDoc 触发报错
61+
ktlint_standard_kdoc = disabled
62+
ktlint_standard_no-consecutive-comments = disabled
63+
ktlint_standard_spacing-between-declarations-with-comments = disabled
64+
65+
[**/build/generated/compose/**.kt]
66+
indent_size = 2
67+
ktlint_standard_class-naming = disabled
68+
69+
[**/build/generated/ksp/**.kt]
70+
ktlint_standard_no-trailing-spaces = disabled
71+
ktlint_standard_spacing-between-declarations-with-comments = disabled
72+
73+
[app/src/**.kt]
74+
ktlint_standard_function-naming = disabled
75+
ktlint_standard_max-line-length = disabled
76+
ktlint_standard_kdoc = disabled
77+
ktlint_standard_no-consecutive-comments = disabled
78+
ktlint_standard_property-naming = disabled
79+
80+
[**/build/**]
81+
ktlint = disabled

app/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ kotlin {
100100
}
101101
}
102102

103+
tasks.matching { it.name == "lintKotlinCommonMain" || it.name == "formatKotlinCommonMain" }.configureEach {
104+
dependsOn("kspCommonMainKotlinMetadata")
105+
}
106+
103107
android {
104108
namespace = "xyz.junerver.composehooks"
105109
compileSdk = 36

app/src/androidMain/kotlin/xyz/junerver/composehooks/example/UseBiometricExample.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("ktlint:standard:function-naming")
2+
13
package xyz.junerver.composehooks.example
24

35
import androidx.compose.foundation.layout.Column

app/src/androidMain/kotlin/xyz/junerver/composehooks/example/UseDeviceInfoExample.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("ktlint:standard:function-naming")
2+
13
package xyz.junerver.composehooks.example
24

35
import android.view.WindowManager

app/src/androidMain/kotlin/xyz/junerver/composehooks/example/UseIdleExample.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("ktlint:standard:function-naming")
2+
13
package xyz.junerver.composehooks.example
24

35
import androidx.compose.foundation.layout.Column

app/src/androidMain/kotlin/xyz/junerver/composehooks/example/UseIlluminanceExample.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("ktlint:standard:function-naming")
2+
13
package xyz.junerver.composehooks.example
24

35
import androidx.compose.foundation.layout.Column

app/src/androidMain/kotlin/xyz/junerver/composehooks/example/UseNetworkExample.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("ktlint:standard:function-naming")
2+
13
package xyz.junerver.composehooks.example
24

35
import androidx.compose.foundation.layout.Column

app/src/androidMain/kotlin/xyz/junerver/composehooks/example/UseSensorExample.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("ktlint:standard:function-naming")
2+
13
package xyz.junerver.composehooks.example
24

35
import android.hardware.Sensor

app/src/androidMain/kotlin/xyz/junerver/composehooks/example/UseVibrateExample.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("ktlint:standard:function-naming")
2+
13
package xyz.junerver.composehooks.example
24

35
import androidx.compose.foundation.layout.Column

build.gradle.kts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
1-
buildscript {
2-
repositories {
3-
google()
4-
mavenCentral()
5-
}
6-
dependencies {
7-
classpath(libs.kotlin.compiler.embeddable)
8-
}
9-
}
1+
import org.gradle.api.tasks.SourceTask
102

113
plugins {
124
alias(libs.plugins.android.application) apply false
@@ -23,5 +15,15 @@ plugins {
2315
}
2416

2517
allprojects {
26-
apply(plugin = rootProject.libs.plugins.kotlinter.get().pluginId)
18+
if (path != ":app") {
19+
apply(plugin = rootProject.libs.plugins.kotlinter.get().pluginId)
20+
}
21+
22+
tasks
23+
.matching { it.name.startsWith("lintKotlin") || it.name.startsWith("formatKotlin") }
24+
.configureEach {
25+
if (this is SourceTask) {
26+
exclude("**/build/**")
27+
}
28+
}
2729
}

0 commit comments

Comments
 (0)