diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3fa8f86..8838ba9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.kt b/src/main/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.kt index 7c1e4f6..8995d73 100755 --- a/src/main/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.kt +++ b/src/main/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPlugin.kt @@ -239,12 +239,11 @@ fun Project.addKtlint(rootProject: Project, extension: CodeQualityToolsPluginExt configuration.isVisible = false configuration.defaultDependencies { - it.add(dependencies.create("com.pinterest:ktlint:${extension.ktlint.toolVersion}")) + it.add(dependencies.create("com.pinterest.ktlint:ktlint-cli:${extension.ktlint.toolVersion}")) } } tasks.register(ktlint, KtLintTask::class.java) { task -> - task.experimental = extension.ktlint.experimental task.version = extension.ktlint.toolVersion task.classpath.from(ktlintConfiguration) task.outputDirectory = File(buildDir, "reports/ktlint/") @@ -252,7 +251,6 @@ fun Project.addKtlint(rootProject: Project, extension: CodeQualityToolsPluginExt } tasks.register("ktlintFormat", KtLintFormatTask::class.java) { task -> - task.experimental = extension.ktlint.experimental task.version = extension.ktlint.toolVersion task.classpath.from(ktlintConfiguration) task.outputDirectory = File(buildDir, "reports/ktlint/") diff --git a/src/main/kotlin/com/vanniktech/code/quality/tools/DetektExtension.kt b/src/main/kotlin/com/vanniktech/code/quality/tools/DetektExtension.kt index e961028..77f78bd 100644 --- a/src/main/kotlin/com/vanniktech/code/quality/tools/DetektExtension.kt +++ b/src/main/kotlin/com/vanniktech/code/quality/tools/DetektExtension.kt @@ -14,8 +14,9 @@ open class DetektExtension { var config: String = "code_quality_tools/detekt.yml" /** - * Optional baseline file. If one is present it will be used in the detektCheck task. - * If this name is specified however the file is not present it will be generated. + * Optional baseline file. + * If one is present, it will be used in the detektCheck task. + * If this name is specified, however, the file is not present it will be generated. * This mirrors the baseline mechanism from Android Lint. * * @since 0.11.0 diff --git a/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintFormatTask.kt b/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintFormatTask.kt index 31ffe7d..3e61896 100644 --- a/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintFormatTask.kt +++ b/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintFormatTask.kt @@ -3,7 +3,6 @@ package com.vanniktech.code.quality.tools import org.gradle.api.DefaultTask import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.file.RegularFileProperty -import org.gradle.api.provider.Property import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.Classpath import org.gradle.api.tasks.Input @@ -17,7 +16,6 @@ import java.io.File import javax.inject.Inject @CacheableTask abstract class KtLintFormatTask : DefaultTask() { - @Input var experimental: Boolean = false @Input lateinit var version: String @get:Classpath abstract val classpath: ConfigurableFileCollection @OutputDirectory lateinit var outputDirectory: File @@ -34,7 +32,6 @@ import javax.inject.Inject queue.submit(KtLintFormatWorker::class.java) { it.classpath.from(classpath) - it.experimental.set(experimental) it.outputDirectory.set(outputDirectory) } } @@ -42,7 +39,6 @@ import javax.inject.Inject internal interface KtLintFormatParameters : WorkParameters { val classpath: ConfigurableFileCollection - val experimental: Property val outputDirectory: RegularFileProperty } @@ -54,10 +50,6 @@ internal abstract class KtLintFormatWorker @Inject internal constructor( task.mainClass.set("com.pinterest.ktlint.Main") task.classpath = parameters.classpath - if (parameters.experimental.get()) { - task.args("--experimental") - } - // Required for JDK 16 or later. // https://github.com/pinterest/ktlint/issues/1195#issuecomment-1009027802 task.jvmArgs("--add-opens", "java.base/java.lang=ALL-UNNAMED") diff --git a/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintTask.kt b/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintTask.kt index f38a1b9..84ca216 100644 --- a/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintTask.kt +++ b/src/main/kotlin/com/vanniktech/code/quality/tools/KtLintTask.kt @@ -3,7 +3,6 @@ package com.vanniktech.code.quality.tools import org.gradle.api.DefaultTask import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.file.RegularFileProperty -import org.gradle.api.provider.Property import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.Classpath import org.gradle.api.tasks.Input @@ -17,7 +16,6 @@ import java.io.File import javax.inject.Inject @CacheableTask abstract class KtLintTask : DefaultTask() { - @Input var experimental: Boolean = false @Input lateinit var version: String @get:Classpath abstract val classpath: ConfigurableFileCollection @OutputDirectory lateinit var outputDirectory: File @@ -34,7 +32,6 @@ import javax.inject.Inject queue.submit(KtLintWorker::class.java) { it.classpath.from(classpath) - it.experimental.set(experimental) it.outputDirectory.set(outputDirectory) } } @@ -42,7 +39,6 @@ import javax.inject.Inject internal interface KtLintParameters : WorkParameters { val classpath: ConfigurableFileCollection - val experimental: Property val outputDirectory: RegularFileProperty } @@ -54,10 +50,6 @@ internal abstract class KtLintWorker @Inject internal constructor( task.mainClass.set("com.pinterest.ktlint.Main") task.classpath = parameters.classpath - if (parameters.experimental.get()) { - task.args("--experimental") - } - task.args( "--reporter=plain", "--reporter=checkstyle,output=${File(parameters.outputDirectory.asFile.get(), "ktlint-checkstyle-report.xml")}", diff --git a/src/main/kotlin/com/vanniktech/code/quality/tools/KtlintExtension.kt b/src/main/kotlin/com/vanniktech/code/quality/tools/KtlintExtension.kt index 2176d2b..baf3c12 100644 --- a/src/main/kotlin/com/vanniktech/code/quality/tools/KtlintExtension.kt +++ b/src/main/kotlin/com/vanniktech/code/quality/tools/KtlintExtension.kt @@ -8,11 +8,5 @@ open class KtlintExtension { var enabled: Boolean = true /** @since 0.5.0 */ - var toolVersion: String = "0.32.0" - - /** - * Ability to enable or disable the experimental rules for ktlint. Requires ktlint 0.31.0 or later. - * @since 0.18.0 - */ - var experimental: Boolean = false + var toolVersion: String = "1.0.1" } diff --git a/src/main/kotlin/com/vanniktech/code/quality/tools/PmdExtension.kt b/src/main/kotlin/com/vanniktech/code/quality/tools/PmdExtension.kt index 6ede5c4..9cd94ea 100644 --- a/src/main/kotlin/com/vanniktech/code/quality/tools/PmdExtension.kt +++ b/src/main/kotlin/com/vanniktech/code/quality/tools/PmdExtension.kt @@ -14,7 +14,7 @@ open class PmdExtension { var ruleSetFile: String = "code_quality_tools/pmd.xml" /** - * If set to false or true it overrides {@link CodeQualityToolsPluginExtension#failEarly}. + * If set to false or true, it overrides {@link CodeQualityToolsPluginExtension#failEarly}. * @since 0.3.0 */ var ignoreFailures: Boolean? = null diff --git a/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtensionTest.kt b/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtensionTest.kt index 84da97f..54a3795 100644 --- a/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtensionTest.kt +++ b/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginExtensionTest.kt @@ -13,7 +13,7 @@ class CodeQualityToolsPluginExtensionTest { assertEquals(false, extension.textReports) assertEquals("1.0.0", extension.detekt.toolVersion) - assertEquals("0.32.0", extension.ktlint.toolVersion) + assertEquals("1.0.1", extension.ktlint.toolVersion) assertEquals("8.6", extension.checkstyle.toolVersion) assertEquals("6.0.0", extension.pmd.toolVersion) @@ -63,7 +63,5 @@ class CodeQualityToolsPluginExtensionTest { assertEquals(true, extension.detekt.failFast) assertEquals(true, extension.kotlin.allWarningsAsErrors) - - assertEquals(false, extension.ktlint.experimental) } } diff --git a/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginKtlintTest.kt b/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginKtlintTest.kt index 972b27d..45e3247 100755 --- a/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginKtlintTest.kt +++ b/src/test/kotlin/com/vanniktech/code/quality/tools/CodeQualityToolsPluginKtlintTest.kt @@ -17,12 +17,6 @@ class CodeQualityToolsPluginKtlintTest { .succeeds() } - @Test fun successVersion0320() { - Roboter(testProjectDir, version = "0.32.0") - .withKotlinFile("src/main/kotlin/com/vanniktech/test/Foo.kt", "fun foo(param: Int) = param * param\n") - .succeeds() - } - @Test fun configuration() { Roboter(testProjectDir) .withConfiguration( @@ -48,19 +42,6 @@ class CodeQualityToolsPluginKtlintTest { .hasKotlinFile("src/main/kotlin/com/vanniktech/test/Foo.kt", "fun foo(param: Int) = param * param\n") } - @Test fun autoFormatVersion0320() { - Roboter(testProjectDir, version = "0.32.0") - .withConfiguration( - """ - |[*.{kt,kts}] - |insert_final_newline=true - """.trimMargin(), - ) - .withKotlinFile("src/main/kotlin/com/vanniktech/test/Foo.kt", "fun foo(param: Int) = param * param") - .succeeds(taskToRun = "ktlintFormat") - .hasKotlinFile("src/main/kotlin/com/vanniktech/test/Foo.kt", "fun foo(param: Int) = param * param\n") - } - @Test fun noSrcFolder() { Roboter(testProjectDir) .succeeds() @@ -72,14 +53,13 @@ class CodeQualityToolsPluginKtlintTest { .fails(containsMessage = "src/main/kotlin/com/vanniktech/test/Foo.kt:1:9: Unexpected spacing after \"(\"") } - @Test fun failsVersion0320() { - Roboter(testProjectDir, version = "0.32.0") - .withKotlinFile("src/main/kotlin/com/vanniktech/test/Foo.kt", "fun foo( ) = Unit") - .fails(containsMessage = "src/main/kotlin/com/vanniktech/test/Foo.kt:1:9: Unexpected spacing after \"(\"") - } - @Test fun experimental() { - Roboter(testProjectDir, experimental = true) + Roboter(testProjectDir) + .withConfiguration( + """ + |ktlint_experimental = enabled + """.trimMargin(), + ) .withKotlinFile("src/main/kotlin/com/vanniktech/test/Foo.kt", "fun foo() =\n Unit") .fails(containsMessage = "src/main/kotlin/com/vanniktech/test/Foo.kt:2:1: Unexpected indentation (3) (should be 4)") } @@ -91,13 +71,13 @@ class CodeQualityToolsPluginKtlintTest { } @Test fun failsOnKotlinScript() { - Roboter(testProjectDir, version = "0.32.0") + Roboter(testProjectDir) .withKotlinFile("build.gradle.kts", "fun foo( ) = Unit") .fails(containsMessage = "build.gradle.kts:1:9: Unexpected spacing after \"(\"") } @Test fun autoCorrectKotlinScript() { - Roboter(testProjectDir, version = "0.32.0") + Roboter(testProjectDir) .withKotlinFile("script.kts", "fun foo(param : Int) = param * param\n") .succeeds(taskToRun = "ktlintFormat") .hasKotlinFile("script.kts", "fun foo(param: Int) = param * param\n") @@ -118,8 +98,7 @@ class CodeQualityToolsPluginKtlintTest { class Roboter( private val directory: TemporaryFolder, enabled: Boolean = true, - version: String = "0.44.0", - experimental: Boolean = false, + version: String = "1.0.1", ) { init { directory.newFile("build.gradle").writeText( @@ -133,7 +112,6 @@ class CodeQualityToolsPluginKtlintTest { | ktlint { | enabled = $enabled | toolVersion = "$version" - | experimental = $experimental | } | detekt.enabled = false | checkstyle.enabled = false