Skip to content

Commit 2d50f46

Browse files
committed
remove support for ktlint < 1
increase minimum kotlin version to 1.7 because less than this is deprecated by KGP and support will be removed soon update default ktlint version to 1.5 in order to avoid unnecessary bug reports such as #815 and #809
1 parent 9663d1d commit 2d50f46

File tree

44 files changed

+86
-1099
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+86
-1099
lines changed

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ ij_kotlin_packages_to_use_import_on_demand = unset
1111
ij_kotlin_name_count_to_use_star_import = 999
1212
ij_kotlin_name_count_to_use_star_import_for_members = 999
1313
ktlint_code_style=intellij_idea
14+
ktlint_standard_function-expression-body = disabled
15+
ktlint_standard_function-signature = disabled
16+
ktlint_standard_class-signature = disabled
1417

1518
[*.{yml,yaml}]
1619
indent_size = 2

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
77

88
## [Unreleased]
99

10+
- remove support for ktlint < 1 [#889](https://github.com/JLLeitschuh/ktlint-gradle/pull/889)
11+
- increase minimum kotlin version to 1.7 [#889](https://github.com/JLLeitschuh/ktlint-gradle/pull/889)
12+
- update default ktlint version to 1.5 [#889](https://github.com/JLLeitschuh/ktlint-gradle/pull/889)
13+
1014
## [12.3.0] - 2025-05-22
1115

1216
### Changed

plugin/.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ ij_kotlin_name_count_to_use_star_import_for_members = 999
1313
ij_kotlin_allow_trailing_comma = false
1414
ij_kotlin_allow_trailing_comma_on_call_site = false
1515
ktlint_code_style=intellij_idea
16+
ktlint_standard_function-expression-body = disabled
17+
ktlint_standard_function-signature = disabled
18+
ktlint_standard_class-signature = disabled
1619

1720
[*.{yml,yaml}]
1821
indent_size = 2

plugin/build.gradle.kts

Lines changed: 11 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
44
import com.gradle.enterprise.gradleplugin.testretry.retry
55
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
66
import org.gradle.api.tasks.testing.logging.TestLogEvent
7+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
8+
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
79
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
810
import org.jetbrains.kotlin.util.prefixIfNot
911

@@ -32,15 +34,14 @@ java {
3234
}
3335

3436
ktlint {
35-
version.set("1.1.0")
37+
version.set("1.6.0")
3638
}
3739

3840
tasks.withType<KotlinCompile> {
39-
kotlinOptions {
40-
// target 1.4 as ktlint 0.49 requires it for inline classes
41-
languageVersion = "1.4"
42-
apiVersion = "1.4"
43-
jvmTarget = "1.8"
41+
compilerOptions {
42+
languageVersion.set(KotlinVersion.KOTLIN_1_7)
43+
apiVersion.set(KotlinVersion.KOTLIN_1_7)
44+
jvmTarget.set(JvmTarget.JVM_1_8)
4445
}
4546
}
4647

@@ -65,27 +66,12 @@ configurations["testImplementation"].extendsFrom(shadowImplementation)
6566
sourceSets {
6667
val adapter by creating {
6768
}
68-
val adapter47 by creating {
69-
compileClasspath += adapter.output
70-
}
71-
val adapter48 by creating {
72-
compileClasspath += adapter.output
73-
}
74-
val adapter49 by creating {
75-
compileClasspath += adapter.output
76-
}
77-
val adapter50 by creating {
78-
compileClasspath += adapter.output
79-
}
69+
8070
val adapter100 by creating {
8171
compileClasspath += adapter.output
8272
}
8373
val adapters = listOf(
8474
adapter,
85-
adapter47,
86-
adapter48,
87-
adapter49,
88-
adapter50,
8975
adapter100
9076
)
9177
val main by getting {
@@ -105,10 +91,6 @@ sourceSets {
10591

10692
val adapterSources = listOf(
10793
sourceSets.named("adapter"),
108-
sourceSets.named("adapter47"),
109-
sourceSets.named("adapter48"),
110-
sourceSets.named("adapter49"),
111-
sourceSets.named("adapter50"),
11294
sourceSets.named("adapter100")
11395
)
11496

@@ -125,24 +107,9 @@ tasks.named<Jar>("shadowJar").configure {
125107
}
126108

127109
dependencies {
128-
add("adapterCompileOnly", "com.pinterest.ktlint:ktlint-core:0.34.0")
129110
add("adapterImplementation", libs.commons.io)
130111
add("adapterImplementation", libs.semver)
131112

132-
add("adapter47CompileOnly", "com.pinterest.ktlint:ktlint-core:0.47.1")
133-
add("adapter48CompileOnly", "com.pinterest.ktlint:ktlint-core:0.48.2")
134-
135-
add("adapter49CompileOnly", "com.pinterest.ktlint:ktlint-core:0.49.1")
136-
add("adapter49CompileOnly", "com.pinterest.ktlint:ktlint-cli-reporter:0.49.1")
137-
add("adapter49CompileOnly", "com.pinterest.ktlint:ktlint-rule-engine:0.49.1")
138-
add("adapter49CompileOnly", "com.pinterest.ktlint:ktlint-ruleset-standard:0.49.1")
139-
add("adapter49CompileOnly", "com.pinterest.ktlint:ktlint-reporter-baseline:0.49.1")
140-
141-
add("adapter50CompileOnly", "com.pinterest.ktlint:ktlint-cli-reporter:0.50.0")
142-
add("adapter50CompileOnly", "com.pinterest.ktlint:ktlint-rule-engine:0.50.0")
143-
add("adapter50CompileOnly", "com.pinterest.ktlint:ktlint-ruleset-standard:0.50.0")
144-
add("adapter50CompileOnly", "com.pinterest.ktlint:ktlint-reporter-baseline:0.50.0")
145-
146113
add("adapter100CompileOnly", "com.pinterest.ktlint:ktlint-cli-reporter-core:1.0.0")
147114
add("adapter100CompileOnly", "com.pinterest.ktlint:ktlint-rule-engine:1.0.0")
148115
add("adapter100CompileOnly", "com.pinterest.ktlint:ktlint-ruleset-standard:1.0.0")
@@ -160,7 +127,7 @@ dependencies {
160127
testImplementation(libs.junit.jupiter)
161128
testImplementation(libs.assertj.core)
162129
testImplementation(libs.kotlin.reflect)
163-
testImplementation(libs.ktlint.core)
130+
testImplementation(libs.ktlint.rule.engine)
164131
testImplementation(libs.archunit.junit5)
165132
}
166133

@@ -179,10 +146,8 @@ kotlin {
179146
tasks.withType<Test> {
180147
dependsOn("publishToMavenLocal")
181148
useJUnitPlatform()
182-
maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).takeIf { it > 0 } ?: 1
183-
doFirst {
184-
logger.lifecycle("maxParallelForks for '$path' is $maxParallelForks")
185-
}
149+
maxParallelForks = 6 // no point in this being higher than the number of gradle workers
150+
186151
// Set the system property for the project version to be used in the tests
187152
systemProperty("project.version", project.version.toString())
188153
testLogging {

plugin/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ org.gradle.vfs.watch=true
44
# Shadow plugin does not fully support configuration cache: https://github.com/johnrengelman/shadow/issues/687
55
#org.gradle.unsafe.configuration-cache=true
66

7-
org.gradle.workers.max = 4
7+
org.gradle.workers.max = 6
88
# Used by the nebula release plugin to locate the root git directory
99
git.root=..

plugin/gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
22
kotlin = "1.5.31"
3-
ktlint = "0.47.1" # last version prior to API changes. we can increase this more once we drop support for the old API.
3+
ktlint = "1.0.0"
44
androidPlugin = "4.1.0"
55
semver = "1.1.1"
66
jgit = "5.13.3.202401111512-r"
@@ -22,6 +22,6 @@ junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "jun
2222
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
2323
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
2424
kotlin-script-runtime = { module = "org.jetbrains.kotlin:kotlin-script-runtime", version.ref = "kotlin" }
25-
ktlint-core = { module = "com.pinterest.ktlint:ktlint-core", version.ref = "ktlint" }
25+
ktlint-rule-engine = { module = "com.pinterest.ktlint:ktlint-rule-engine", version.ref = "ktlint" }
2626
semver = { module = "net.swiftzer.semver:semver", version.ref = "semver" }
2727
slf4j-nop = { module = "org.slf4j:slf4j-nop", version.ref = "sl4fj" }

plugin/src/adapter/kotlin/org/jlleitschuh/gradle/ktlint/worker/BaselineReporterAdapter.kt

Lines changed: 0 additions & 7 deletions
This file was deleted.

plugin/src/adapter/kotlin/org/jlleitschuh/gradle/ktlint/worker/LintErrorExt.kt

Lines changed: 0 additions & 11 deletions
This file was deleted.

plugin/src/adapter/kotlin/org/jlleitschuh/gradle/ktlint/worker/RuleFilter.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.

plugin/src/adapter/kotlin/org/jlleitschuh/gradle/ktlint/worker/SerializableLintError.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,3 @@ data class SerializableLintError(
1616
private const val serialVersionUID: Long = 20120922L
1717
}
1818
}
19-
20-
fun List<SerializableLintError>.containsLintError(error: SerializableLintError): Boolean {
21-
return firstOrNull { lintError ->
22-
lintError.col == error.col &&
23-
lintError.line == error.line &&
24-
lintError.ruleId == error.ruleId
25-
} != null
26-
}

0 commit comments

Comments
 (0)