From 9c603d80c293cf61c7b539ad04783f0d2164911a Mon Sep 17 00:00:00 2001 From: Chao Zhang Date: Sat, 17 Sep 2022 14:53:26 -0700 Subject: [PATCH] Upgrade ktlint to 0.47.1 --- .../detekt/formatting/KtLintMultiRule.kt | 64 +------------------ ...ingComma.kt => TrailingCommaOnCallSite.kt} | 14 ++-- .../TrailingCommaOnDeclarationSite.kt | 27 ++++++++ .../detekt/formatting/TrailingCommaSpec.kt | 1 - gradle/libs.versions.toml | 2 +- 5 files changed, 36 insertions(+), 72 deletions(-) rename detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/{TrailingComma.kt => TrailingCommaOnCallSite.kt} (58%) create mode 100644 detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt index b003a594357d..f2f090987fe6 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/KtLintMultiRule.kt @@ -2,66 +2,7 @@ package io.gitlab.arturbosch.detekt.formatting import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.Rule -import io.gitlab.arturbosch.detekt.formatting.wrappers.AnnotationOnSeparateLine -import io.gitlab.arturbosch.detekt.formatting.wrappers.AnnotationSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.ArgumentListWrapping -import io.gitlab.arturbosch.detekt.formatting.wrappers.BlockCommentInitialStarAlignment -import io.gitlab.arturbosch.detekt.formatting.wrappers.ChainWrapping -import io.gitlab.arturbosch.detekt.formatting.wrappers.CommentSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.CommentWrapping -import io.gitlab.arturbosch.detekt.formatting.wrappers.DiscouragedCommentLocation -import io.gitlab.arturbosch.detekt.formatting.wrappers.EnumEntryNameCase -import io.gitlab.arturbosch.detekt.formatting.wrappers.Filename -import io.gitlab.arturbosch.detekt.formatting.wrappers.FinalNewline -import io.gitlab.arturbosch.detekt.formatting.wrappers.FunKeywordSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.FunctionReturnTypeSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.FunctionSignature -import io.gitlab.arturbosch.detekt.formatting.wrappers.FunctionStartOfBodySpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.FunctionTypeReferenceSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.ImportOrdering -import io.gitlab.arturbosch.detekt.formatting.wrappers.Indentation -import io.gitlab.arturbosch.detekt.formatting.wrappers.KdocWrapping -import io.gitlab.arturbosch.detekt.formatting.wrappers.MaximumLineLength -import io.gitlab.arturbosch.detekt.formatting.wrappers.ModifierListSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.ModifierOrdering -import io.gitlab.arturbosch.detekt.formatting.wrappers.MultiLineIfElse -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoBlankLineBeforeRbrace -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoBlankLinesInChainedMethodCalls -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoConsecutiveBlankLines -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoEmptyClassBody -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoEmptyFirstLineInMethodBlock -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoLineBreakAfterElse -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoLineBreakBeforeAssignment -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoMultipleSpaces -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoSemicolons -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoTrailingSpaces -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoUnitReturn -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoUnusedImports -import io.gitlab.arturbosch.detekt.formatting.wrappers.NoWildcardImports -import io.gitlab.arturbosch.detekt.formatting.wrappers.NullableTypeSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.PackageName -import io.gitlab.arturbosch.detekt.formatting.wrappers.ParameterListSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.ParameterListWrapping -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundAngleBrackets -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundColon -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundComma -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundCurly -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundDot -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundDoubleColon -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundKeyword -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundOperators -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundParens -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundRangeOperator -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingAroundUnaryOperator -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingBetweenDeclarationsWithAnnotations -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingBetweenDeclarationsWithComments -import io.gitlab.arturbosch.detekt.formatting.wrappers.SpacingBetweenFunctionNameAndOpeningParenthesis -import io.gitlab.arturbosch.detekt.formatting.wrappers.StringTemplate -import io.gitlab.arturbosch.detekt.formatting.wrappers.TrailingComma -import io.gitlab.arturbosch.detekt.formatting.wrappers.TypeArgumentListSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.TypeParameterListSpacing -import io.gitlab.arturbosch.detekt.formatting.wrappers.UnnecessaryParenthesesBeforeTrailingLambda -import io.gitlab.arturbosch.detekt.formatting.wrappers.Wrapping +import io.gitlab.arturbosch.detekt.formatting.wrappers.* import org.jetbrains.kotlin.com.intellij.lang.ASTNode import org.jetbrains.kotlin.com.intellij.psi.impl.source.JavaDummyElement import org.jetbrains.kotlin.com.intellij.psi.impl.source.JavaDummyHolder @@ -119,7 +60,8 @@ class KtLintMultiRule(config: Config = Config.empty) : SpacingBetweenDeclarationsWithAnnotations(config), SpacingBetweenDeclarationsWithComments(config), StringTemplate(config), - TrailingComma(config), // in standard ruleset but not enabled by default + TrailingCommaOnCallSite(config), // in standard ruleset but not enabled by default + TrailingCommaOnDeclarationSite(config), // in standard ruleset but not enabled by default Wrapping(config), // Wrappers for ktlint-ruleset-experimental rules. Disabled by default. diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingComma.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnCallSite.kt similarity index 58% rename from detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingComma.kt rename to detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnCallSite.kt index 98ca6a7e3e11..785802120a2a 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingComma.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnCallSite.kt @@ -1,7 +1,7 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.core.api.UsesEditorConfigProperties -import com.pinterest.ktlint.ruleset.experimental.trailingcomma.TrailingCommaRule +import com.pinterest.ktlint.ruleset.standard.TrailingCommaOnCallSiteRule import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.config import io.gitlab.arturbosch.detekt.api.internal.AutoCorrectable @@ -12,20 +12,16 @@ import io.gitlab.arturbosch.detekt.formatting.FormattingRule * See [ktlint docs](https://pinterest.github.io/ktlint/rules/standard/) for documentation. */ @AutoCorrectable(since = "1.20.0") -class TrailingComma(config: Config) : FormattingRule(config) { +class TrailingCommaOnCallSite(config: Config) : FormattingRule(config) { - override val wrapping = TrailingCommaRule() + override val wrapping = TrailingCommaOnCallSiteRule() override val issue = issueFor("Rule to mandate/forbid trailing commas") - @Configuration("Defines whether a trailing comma (or no trailing comma) should be enforced on the defining side") + @Configuration("Defines whether a trailing comma (or no trailing comma) should be enforced on the call side") private val allowTrailingComma by config(false) - @Configuration("Defines whether a trailing comma (or no trailing comma) should be enforced on the calling side") - private val allowTrailingCommaOnCallSite by config(false) - override fun overrideEditorConfigProperties(): Map, String> = mapOf( - TrailingCommaRule.allowTrailingCommaProperty to allowTrailingComma.toString(), - TrailingCommaRule.allowTrailingCommaOnCallSiteProperty to allowTrailingCommaOnCallSite.toString(), + TrailingCommaOnCallSiteRule.allowTrailingCommaOnCallSiteProperty to allowTrailingComma.toString(), ) } diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt new file mode 100644 index 000000000000..b6ea120c60e7 --- /dev/null +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/TrailingCommaOnDeclarationSite.kt @@ -0,0 +1,27 @@ +package io.gitlab.arturbosch.detekt.formatting.wrappers + +import com.pinterest.ktlint.core.api.UsesEditorConfigProperties +import com.pinterest.ktlint.ruleset.standard.TrailingCommaOnDeclarationSiteRule +import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.config +import io.gitlab.arturbosch.detekt.api.internal.AutoCorrectable +import io.gitlab.arturbosch.detekt.api.internal.Configuration +import io.gitlab.arturbosch.detekt.formatting.FormattingRule + +/** + * See [ktlint docs](https://pinterest.github.io/ktlint/rules/standard/) for documentation. + */ +@AutoCorrectable(since = "1.23.0") +class TrailingCommaOnDeclarationSite(config: Config) : FormattingRule(config) { + + override val wrapping = TrailingCommaOnDeclarationSiteRule() + override val issue = issueFor("Rule to mandate/forbid trailing commas") + + @Configuration("Defines whether a trailing comma (or no trailing comma) should be enforced on the declaration side") + private val allowTrailingComma by config(false) + + override fun overrideEditorConfigProperties(): Map, String> = + mapOf( + TrailingCommaOnDeclarationSiteRule.allowTrailingCommaProperty to allowTrailingComma.toString(), + ) +} diff --git a/detekt-formatting/src/test/kotlin/io/gitlab/arturbosch/detekt/formatting/TrailingCommaSpec.kt b/detekt-formatting/src/test/kotlin/io/gitlab/arturbosch/detekt/formatting/TrailingCommaSpec.kt index f72703cb707c..4a9be3cf8cdb 100644 --- a/detekt-formatting/src/test/kotlin/io/gitlab/arturbosch/detekt/formatting/TrailingCommaSpec.kt +++ b/detekt-formatting/src/test/kotlin/io/gitlab/arturbosch/detekt/formatting/TrailingCommaSpec.kt @@ -1,6 +1,5 @@ package io.gitlab.arturbosch.detekt.formatting -import io.gitlab.arturbosch.detekt.formatting.wrappers.TrailingComma import io.gitlab.arturbosch.detekt.test.TestConfig import io.gitlab.arturbosch.detekt.test.assertThat import org.junit.jupiter.api.Nested diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6359d7a28cfa..be0e35f6787e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ dokka = "1.7.10" jacoco = "0.8.8" kotlin = "1.7.10" -ktlint = "0.46.1" +ktlint = "0.47.1" junit = "5.9.0" contester = "0.2.0"