From 36edd4c52895a7b10b4a762875fcd8a4f47c8fc0 Mon Sep 17 00:00:00 2001 From: marschwar Date: Sun, 28 Mar 2021 20:21:09 +0200 Subject: [PATCH] Replace `@active` KDoc tag with `@ActiveByDefault` annotation (#3592) * Add @ActiveByDefault annotation * Add support for @ActiveByDefault annotation * Use annotation for all activated in v1.2.0 * Use annotation for all activated after v1.2.0 * Use annotation for all activated in v1.0.0 * Update documentation with regard to RuleSetProvider * Update documentation * Remove leading 'v' from version in annotation * Use named parameter 'since' for @ActiveByDefault * check version matches semantic version pattern. * Fix typo and correct version format * Fix merge errors Co-authored-by: Markus Schwarz Co-authored-by: Chao Zhang --- .github/CONTRIBUTING.md | 2 +- .../detekt/api/internal/ActiveByDefault.kt | 15 +++++++ .../detekt/formatting/FormattingProvider.kt | 3 +- .../formatting/wrappers/ChainWrapping.kt | 3 +- .../formatting/wrappers/CommentSpacing.kt | 3 +- .../detekt/formatting/wrappers/Filename.kt | 4 +- .../formatting/wrappers/FinalNewline.kt | 4 +- .../formatting/wrappers/MaximumLineLength.kt | 4 +- .../formatting/wrappers/ModifierOrdering.kt | 3 +- .../formatting/wrappers/MultiLineIfElse.kt | 3 +- .../wrappers/NoBlankLineBeforeRbrace.kt | 3 +- .../wrappers/NoConsecutiveBlankLines.kt | 3 +- .../formatting/wrappers/NoEmptyClassBody.kt | 3 +- .../wrappers/NoLineBreakAfterElse.kt | 3 +- .../wrappers/NoLineBreakBeforeAssignment.kt | 3 +- .../formatting/wrappers/NoMultipleSpaces.kt | 3 +- .../formatting/wrappers/NoSemicolons.kt | 3 +- .../formatting/wrappers/NoTrailingSpaces.kt | 3 +- .../formatting/wrappers/NoUnitReturn.kt | 3 +- .../formatting/wrappers/NoUnusedImports.kt | 3 +- .../formatting/wrappers/NoWildcardImports.kt | 4 +- .../detekt/formatting/wrappers/PackageName.kt | 3 +- .../wrappers/ParameterListWrapping.kt | 3 +- .../formatting/wrappers/SpacingAroundColon.kt | 3 +- .../formatting/wrappers/SpacingAroundComma.kt | 3 +- .../formatting/wrappers/SpacingAroundCurly.kt | 3 +- .../formatting/wrappers/SpacingAroundDot.kt | 3 +- .../wrappers/SpacingAroundKeyword.kt | 3 +- .../wrappers/SpacingAroundOperators.kt | 3 +- .../wrappers/SpacingAroundParens.kt | 3 +- .../wrappers/SpacingAroundRangeOperator.kt | 3 +- .../formatting/wrappers/StringTemplate.kt | 3 +- .../generator/collection/Annotations.kt | 27 ++++++++++++- .../collection/DefaultActivationStatus.kt | 27 +++++++++++++ .../detekt/generator/collection/Rule.kt | 3 +- .../collection/RuleSetProviderCollector.kt | 12 +++--- .../generator/collection/RuleVisitor.kt | 20 +++------- .../printer/rulesetpage/ConfigPrinter.kt | 4 +- .../printer/rulesetpage/RuleSetPagePrinter.kt | 5 ++- .../generator/collection/RuleCollectorSpec.kt | 39 +++++++------------ .../RuleSetProviderCollectorSpec.kt | 35 ++++++++++++++--- .../generator/util/RuleSetPageCreator.kt | 12 +++--- .../io/github/detekt/report/xml/XmlEscape.kt | 2 - .../rules/complexity/ComplexCondition.kt | 4 +- .../detekt/rules/complexity/ComplexMethod.kt | 4 +- .../rules/complexity/ComplexityProvider.kt | 4 +- .../detekt/rules/complexity/LargeClass.kt | 4 +- .../detekt/rules/complexity/LongMethod.kt | 4 +- .../rules/complexity/LongParameterList.kt | 4 +- .../rules/complexity/NestedBlockDepth.kt | 4 +- .../rules/complexity/TooManyFunctions.kt | 4 +- .../rules/coroutines/CoroutinesProvider.kt | 4 +- .../documentation/CommentSmellProvider.kt | 4 +- .../detekt/rules/empty/EmptyBlocks.kt | 4 +- .../detekt/rules/empty/EmptyCatchBlock.kt | 3 +- .../detekt/rules/empty/EmptyClassBlock.kt | 4 +- .../detekt/rules/empty/EmptyCodeProvider.kt | 4 +- .../rules/empty/EmptyDefaultConstructor.kt | 4 +- .../detekt/rules/empty/EmptyDoWhileBlock.kt | 4 +- .../detekt/rules/empty/EmptyElseBlock.kt | 4 +- .../detekt/rules/empty/EmptyFinallyBlock.kt | 4 +- .../detekt/rules/empty/EmptyForBlock.kt | 4 +- .../detekt/rules/empty/EmptyFunctionBlock.kt | 4 +- .../detekt/rules/empty/EmptyIfBlock.kt | 4 +- .../detekt/rules/empty/EmptyInitBlock.kt | 4 +- .../detekt/rules/empty/EmptyKtFile.kt | 4 +- .../rules/empty/EmptySecondaryConstructor.kt | 4 +- .../detekt/rules/empty/EmptyTryBlock.kt | 4 +- .../detekt/rules/empty/EmptyWhenBlock.kt | 4 +- .../detekt/rules/empty/EmptyWhileBlock.kt | 4 +- .../bugs/DuplicateCaseInWhenExpression.kt | 4 +- .../bugs/EqualsAlwaysReturnsTrueOrFalse.kt | 4 +- .../rules/bugs/EqualsWithHashCodeExist.kt | 4 +- .../bugs/ExplicitGarbageCollectionCall.kt | 4 +- .../rules/bugs/ImplicitDefaultLocale.kt | 4 +- .../detekt/rules/bugs/InvalidRange.kt | 4 +- .../bugs/IteratorHasNextCallsNextMethod.kt | 4 +- ...eratorNotThrowingNoSuchElementException.kt | 4 +- .../detekt/rules/bugs/MissingWhenCase.kt | 5 +-- .../detekt/rules/bugs/PotentialBugProvider.kt | 4 +- .../detekt/rules/bugs/RedundantElseInWhen.kt | 4 +- .../rules/bugs/UnnecessaryNotNullOperator.kt | 4 +- .../detekt/rules/bugs/UnnecessarySafeCall.kt | 4 +- .../detekt/rules/bugs/UnreachableCode.kt | 4 +- .../rules/bugs/UnsafeCallOnNullableType.kt | 4 +- .../detekt/rules/bugs/UnsafeCast.kt | 4 +- .../rules/bugs/WrongEqualsTypeParameter.kt | 4 +- .../ExceptionRaisedInUnexpectedLocation.kt | 3 +- .../rules/exceptions/ExceptionsProvider.kt | 4 +- .../rules/exceptions/PrintStackTrace.kt | 4 +- .../exceptions/RethrowCaughtException.kt | 4 +- .../rules/exceptions/ReturnFromFinally.kt | 3 +- .../rules/exceptions/SwallowedException.kt | 3 +- .../ThrowingExceptionFromFinally.kt | 3 +- ...ThrowingExceptionsWithoutMessageOrCause.kt | 3 +- .../ThrowingNewInstanceOfSameException.kt | 4 +- .../exceptions/TooGenericExceptionCaught.kt | 3 +- .../exceptions/TooGenericExceptionThrown.kt | 4 +- .../detekt/rules/naming/ClassNaming.kt | 3 +- .../naming/ConstructorParameterNaming.kt | 4 +- .../detekt/rules/naming/EnumNaming.kt | 3 +- .../detekt/rules/naming/FunctionNaming.kt | 4 +- .../rules/naming/FunctionParameterNaming.kt | 4 +- .../rules/naming/MatchingDeclarationName.kt | 4 +- .../rules/naming/MemberNameEqualsClassName.kt | 4 +- .../detekt/rules/naming/NamingProvider.kt | 4 +- .../rules/naming/ObjectPropertyNaming.kt | 3 +- .../detekt/rules/naming/PackageNaming.kt | 3 +- .../rules/naming/TopLevelPropertyNaming.kt | 4 +- .../detekt/rules/naming/VariableNaming.kt | 4 +- .../rules/performance/ArrayPrimitive.kt | 4 +- .../rules/performance/ForEachOnRange.kt | 4 +- .../rules/performance/PerformanceProvider.kt | 4 +- .../rules/performance/SpreadOperator.kt | 4 +- .../UnnecessaryTemporaryInstantiation.kt | 4 +- .../detekt/rules/style/EqualsNullCall.kt | 4 +- .../detekt/rules/style/ForbiddenComment.kt | 3 +- .../rules/style/ForbiddenPublicDataClass.kt | 3 +- .../style/FunctionOnlyReturningConstant.kt | 4 +- .../style/LibraryCodeMustSpecifyReturnType.kt | 3 +- .../style/LibraryEntitiesShouldNotBePublic.kt | 4 +- .../style/LoopWithTooManyJumpStatements.kt | 4 +- .../detekt/rules/style/MagicNumber.kt | 4 +- .../detekt/rules/style/MaxLineLength.kt | 4 +- .../detekt/rules/style/MayBeConst.kt | 4 +- .../detekt/rules/style/ModifierOrder.kt | 4 +- .../rules/style/NestedClassesVisibility.kt | 4 +- .../detekt/rules/style/NewLineAtEndOfFile.kt | 4 +- .../rules/style/OptionalAbstractKeyword.kt | 4 +- .../style/ProtectedMemberInFinalClass.kt | 4 +- .../detekt/rules/style/ReturnCount.kt | 3 +- .../arturbosch/detekt/rules/style/SafeCast.kt | 4 +- .../SerialVersionUIDInSerializableClass.kt | 4 +- .../detekt/rules/style/StyleGuideProvider.kt | 4 +- .../detekt/rules/style/ThrowsCount.kt | 4 +- .../rules/style/UnnecessaryAbstractClass.kt | 4 +- .../detekt/rules/style/UnnecessaryApply.kt | 4 +- .../rules/style/UnnecessaryInheritance.kt | 4 +- .../detekt/rules/style/UnusedPrivateClass.kt | 4 +- .../detekt/rules/style/UnusedPrivateMember.kt | 3 +- .../rules/style/UselessCallOnNotNull.kt | 4 +- .../UtilityClassWithPublicConstructor.kt | 4 +- .../detekt/rules/style/VarCouldBeVal.kt | 4 +- .../detekt/rules/style/WildcardImport.kt | 4 +- docs/pages/extensions.md | 2 +- 145 files changed, 399 insertions(+), 289 deletions(-) create mode 100644 detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/internal/ActiveByDefault.kt create mode 100644 detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/DefaultActivationStatus.kt diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index cf6ec6bdf..331270df6 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -64,7 +64,7 @@ Kotlin files AST. This can be helpful when implementing and debugging rules. After some time and testing there is a chance this rule will become active on default. -Rules that contain an `@active` tag in their KDoc will be marked as active in the `default-detekt-config.yml`. +Rules annotated with `@ActiveByDefault` will be marked as active in the`default-detekt-config.yml`. ### When updating the website ... diff --git a/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/internal/ActiveByDefault.kt b/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/internal/ActiveByDefault.kt new file mode 100644 index 000000000..e9af46eba --- /dev/null +++ b/detekt-api/src/main/kotlin/io/gitlab/arturbosch/detekt/api/internal/ActiveByDefault.kt @@ -0,0 +1,15 @@ +package io.gitlab.arturbosch.detekt.api.internal + +/** + * Annotated [io.gitlab.arturbosch.detekt.api.Rule] or [io.gitlab.arturbosch.detekt.api.RuleSetProvider] + * is active by default. + */ +@Target(AnnotationTarget.CLASS) +@Retention(AnnotationRetention.SOURCE) +annotation class ActiveByDefault( + /** + * The Detekt version the rule was activated by default in the following format: .., + * where major, minor and patch are non-negative integer numbers. + */ + val since: String +) diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/FormattingProvider.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/FormattingProvider.kt index 1d313d2c2..8e936b9dd 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/FormattingProvider.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/FormattingProvider.kt @@ -3,6 +3,7 @@ package io.gitlab.arturbosch.detekt.formatting import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet import io.gitlab.arturbosch.detekt.api.RuleSetProvider +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault /** * This rule set provides wrappers for rules implemented by ktlint - https://ktlint.github.io/. @@ -16,8 +17,8 @@ import io.gitlab.arturbosch.detekt.api.RuleSetProvider * * @configuration android - if android style guides should be preferred (default: `false`) * @configuration autoCorrect - if rules should auto correct style violation (default: `true`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class FormattingProvider : RuleSetProvider { override val ruleSetId: String = "formatting" diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ChainWrapping.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ChainWrapping.kt index 998af96f4..f3571c35a 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ChainWrapping.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ChainWrapping.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.ChainWrappingRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ChainWrapping(config: Config) : FormattingRule(config) { override val wrapping = ChainWrappingRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/CommentSpacing.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/CommentSpacing.kt index d9bea3984..a90171153 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/CommentSpacing.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/CommentSpacing.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.CommentSpacingRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class CommentSpacing(config: Config) : FormattingRule(config) { override val wrapping = CommentSpacingRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/Filename.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/Filename.kt index 2a67cb161..713221d02 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/Filename.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/Filename.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.FilenameRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class Filename(config: Config) : FormattingRule(config) { override val wrapping = FilenameRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/FinalNewline.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/FinalNewline.kt index 030f02b32..30dc9c4dc 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/FinalNewline.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/FinalNewline.kt @@ -3,6 +3,7 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.core.api.FeatureInAlphaState import com.pinterest.ktlint.ruleset.standard.FinalNewlineRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule import io.gitlab.arturbosch.detekt.formatting.INSERT_FINAL_NEWLINE_KEY import org.ec4j.core.model.Property @@ -13,11 +14,10 @@ import org.ec4j.core.model.PropertyType * * @configuration insertFinalNewLine - report absence or presence of a newline (default: `true`) * - * @active since v1.0.0 * @autoCorrect since v1.0.0 - * */ @OptIn(FeatureInAlphaState::class) +@ActiveByDefault(since = "1.0.0") class FinalNewline(config: Config) : FormattingRule(config) { override val wrapping = FinalNewlineRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MaximumLineLength.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MaximumLineLength.kt index ef21667dc..a61627f84 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MaximumLineLength.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MaximumLineLength.kt @@ -2,6 +2,7 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.MaxLineLengthRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.ANDROID_MAX_LINE_LENGTH import io.gitlab.arturbosch.detekt.formatting.DEFAULT_IDEA_LINE_LENGTH import io.gitlab.arturbosch.detekt.formatting.FormattingRule @@ -11,9 +12,8 @@ import io.gitlab.arturbosch.detekt.formatting.MAX_LINE_LENGTH_KEY * See ktlint-website for documentation. * * @configuration maxLineLength - maximum line length (default: `120`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class MaximumLineLength(config: Config) : FormattingRule(config) { override val wrapping = MaxLineLengthRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ModifierOrdering.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ModifierOrdering.kt index 9733ce794..a46a75179 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ModifierOrdering.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ModifierOrdering.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.ModifierOrderRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ModifierOrdering(config: Config) : FormattingRule(config) { override val wrapping = ModifierOrderRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MultiLineIfElse.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MultiLineIfElse.kt index cf62f2109..139cdaa01 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MultiLineIfElse.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/MultiLineIfElse.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.experimental.MultiLineIfElseRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class MultiLineIfElse(config: Config) : FormattingRule(config) { override val wrapping = MultiLineIfElseRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoBlankLineBeforeRbrace.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoBlankLineBeforeRbrace.kt index 0cdf11e34..7c68bab1c 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoBlankLineBeforeRbrace.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoBlankLineBeforeRbrace.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoBlankLineBeforeRbraceRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoBlankLineBeforeRbrace(config: Config) : FormattingRule(config) { override val wrapping = NoBlankLineBeforeRbraceRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoConsecutiveBlankLines.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoConsecutiveBlankLines.kt index 930124e45..cb305ed97 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoConsecutiveBlankLines.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoConsecutiveBlankLines.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoConsecutiveBlankLinesRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoConsecutiveBlankLines(config: Config) : FormattingRule(config) { override val wrapping = NoConsecutiveBlankLinesRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoEmptyClassBody.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoEmptyClassBody.kt index 622899547..c7622dd13 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoEmptyClassBody.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoEmptyClassBody.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoEmptyClassBodyRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoEmptyClassBody(config: Config) : FormattingRule(config) { override val wrapping = NoEmptyClassBodyRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakAfterElse.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakAfterElse.kt index 7961f3137..e0febad04 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakAfterElse.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakAfterElse.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoLineBreakAfterElseRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoLineBreakAfterElse(config: Config) : FormattingRule(config) { override val wrapping = NoLineBreakAfterElseRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakBeforeAssignment.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakBeforeAssignment.kt index d22c0cbe9..f1509b4cd 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakBeforeAssignment.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoLineBreakBeforeAssignment.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoLineBreakBeforeAssignmentRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoLineBreakBeforeAssignment(config: Config) : FormattingRule(config) { override val wrapping = NoLineBreakBeforeAssignmentRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoMultipleSpaces.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoMultipleSpaces.kt index 60fd61890..dbb92b399 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoMultipleSpaces.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoMultipleSpaces.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoMultipleSpacesRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoMultipleSpaces(config: Config) : FormattingRule(config) { override val wrapping = NoMultipleSpacesRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoSemicolons.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoSemicolons.kt index 155077f40..37813b648 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoSemicolons.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoSemicolons.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoSemicolonsRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoSemicolons(config: Config) : FormattingRule(config) { override val wrapping = NoSemicolonsRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoTrailingSpaces.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoTrailingSpaces.kt index 75ea8c8e3..37487d859 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoTrailingSpaces.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoTrailingSpaces.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoTrailingSpacesRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoTrailingSpaces(config: Config) : FormattingRule(config) { override val wrapping = NoTrailingSpacesRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnitReturn.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnitReturn.kt index 18be061fd..463d08787 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnitReturn.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnitReturn.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoUnitReturnRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoUnitReturn(config: Config) : FormattingRule(config) { override val wrapping = NoUnitReturnRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnusedImports.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnusedImports.kt index 6a5092f71..d9bcd4177 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnusedImports.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoUnusedImports.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoUnusedImportsRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoUnusedImports(config: Config) : FormattingRule(config) { override val wrapping = NoUnusedImportsRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoWildcardImports.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoWildcardImports.kt index 2bc5c8f39..4abe29a54 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoWildcardImports.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/NoWildcardImports.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.NoWildcardImportsRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NoWildcardImports(config: Config) : FormattingRule(config) { override val wrapping = NoWildcardImportsRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/PackageName.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/PackageName.kt index 4bef87dd5..46925cb0d 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/PackageName.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/PackageName.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.experimental.PackageNameRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class PackageName(config: Config) : FormattingRule(config) { override val wrapping = PackageNameRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ParameterListWrapping.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ParameterListWrapping.kt index 1aa126abe..5e82cba5c 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ParameterListWrapping.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/ParameterListWrapping.kt @@ -2,6 +2,7 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.ParameterListWrappingRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.DEFAULT_INDENT import io.gitlab.arturbosch.detekt.formatting.FormattingRule import io.gitlab.arturbosch.detekt.formatting.INDENT_SIZE_KEY @@ -11,9 +12,9 @@ import io.gitlab.arturbosch.detekt.formatting.INDENT_SIZE_KEY * * @configuration indentSize - indentation size (default: `4`) * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ParameterListWrapping(config: Config) : FormattingRule(config) { override val wrapping = ParameterListWrappingRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundColon.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundColon.kt index 617c459f4..2b1efe118 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundColon.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundColon.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundColonRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundColon(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundColonRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundComma.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundComma.kt index a8c462e59..f376f2260 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundComma.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundComma.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundCommaRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundComma(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundCommaRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundCurly.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundCurly.kt index 1b8c528e7..f0b3a4ae7 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundCurly.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundCurly.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundCurlyRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundCurly(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundCurlyRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundDot.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundDot.kt index 818ccbdc8..76537a75d 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundDot.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundDot.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundDotRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundDot(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundDotRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundKeyword.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundKeyword.kt index 65a18ffbc..fd49cd7a2 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundKeyword.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundKeyword.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundKeywordRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundKeyword(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundKeywordRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundOperators.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundOperators.kt index 6860d15aa..713e252ec 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundOperators.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundOperators.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundOperatorsRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundOperators(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundOperatorsRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundParens.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundParens.kt index 0884302e3..df6a61aef 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundParens.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundParens.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundParensRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundParens(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundParensRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundRangeOperator.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundRangeOperator.kt index 98703d07f..705657faa 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundRangeOperator.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/SpacingAroundRangeOperator.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.SpacingAroundRangeOperatorRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpacingAroundRangeOperator(config: Config) : FormattingRule(config) { override val wrapping = SpacingAroundRangeOperatorRule() diff --git a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/StringTemplate.kt b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/StringTemplate.kt index 68336c7e8..b25f02778 100644 --- a/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/StringTemplate.kt +++ b/detekt-formatting/src/main/kotlin/io/gitlab/arturbosch/detekt/formatting/wrappers/StringTemplate.kt @@ -2,14 +2,15 @@ package io.gitlab.arturbosch.detekt.formatting.wrappers import com.pinterest.ktlint.ruleset.standard.StringTemplateRule import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.formatting.FormattingRule /** * See ktlint-website for documentation. * - * @active since v1.0.0 * @autoCorrect since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class StringTemplate(config: Config) : FormattingRule(config) { override val wrapping = StringTemplateRule() diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Annotations.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Annotations.kt index 80b58d509..199f76765 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Annotations.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Annotations.kt @@ -1,7 +1,30 @@ package io.gitlab.arturbosch.detekt.generator.collection +import org.jetbrains.kotlin.psi.KtAnnotationEntry import org.jetbrains.kotlin.psi.KtClassOrObject import kotlin.reflect.KClass -fun KtClassOrObject.isAnnotatedWith(annotation: KClass) = - annotationEntries.any { it.shortName?.identifier == annotation.simpleName } +fun KtClassOrObject.isAnnotatedWith(annotation: KClass): Boolean = + annotationEntries.any { it.isOfType(annotation) } + +fun KtClassOrObject.firstAnnotationParameter(annotation: KClass): String = + checkNotNull(firstAnnotationParameterOrNull(annotation)) + +fun KtClassOrObject.firstAnnotationParameterOrNull(annotation: KClass): String? = + annotationEntries + .firstOrNull { it.isOfType(annotation) } + ?.firstParameterOrNull() + +private fun KtAnnotationEntry.isOfType(annotation: KClass) = + shortName?.identifier == annotation.simpleName + +private fun KtAnnotationEntry.firstParameterOrNull() = + valueArguments + .firstOrNull() + ?.getArgumentExpression() + ?.text + ?.withoutQuotes() + +private fun String.withoutQuotes() = removePrefix(QUOTES).removeSuffix(QUOTES) + +private const val QUOTES = "\"" diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/DefaultActivationStatus.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/DefaultActivationStatus.kt new file mode 100644 index 000000000..2e3c351e9 --- /dev/null +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/DefaultActivationStatus.kt @@ -0,0 +1,27 @@ +package io.gitlab.arturbosch.detekt.generator.collection + +import io.gitlab.arturbosch.detekt.generator.collection.exception.InvalidDocumentationException + +sealed class DefaultActivationStatus { + abstract val active: Boolean +} + +object Inactive : DefaultActivationStatus() { + override val active = false +} + +data class Active(val since: String) : DefaultActivationStatus() { + override val active = true + + init { + if (!since.matches(SEMANTIC_VERSION_PATTERN)) { + throw InvalidDocumentationException( + "'$since' must match the semantic version pattern .." + ) + } + } + + companion object { + private val SEMANTIC_VERSION_PATTERN = """^\d+\.\d+.\d+$""".toRegex() + } +} diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Rule.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Rule.kt index fe80a9094..d0a22855f 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Rule.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/Rule.kt @@ -5,8 +5,7 @@ data class Rule( val description: String, val nonCompliantCodeExample: String, val compliantCodeExample: String, - val active: Boolean, - val activeSince: String? = null, + val defaultActivationStatus: DefaultActivationStatus, var severity: String, var debt: String, var aliases: String?, diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt index 3f779ced7..c561059fa 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollector.kt @@ -1,6 +1,7 @@ package io.gitlab.arturbosch.detekt.generator.collection import io.gitlab.arturbosch.detekt.api.DetektVisitor +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider import io.gitlab.arturbosch.detekt.generator.collection.exception.InvalidDocumentationException import io.gitlab.arturbosch.detekt.rules.isOverride @@ -16,7 +17,7 @@ import org.jetbrains.kotlin.psi.psiUtil.referenceExpression data class RuleSetProvider( val name: String, val description: String, - val active: Boolean, + val defaultActivationStatus: DefaultActivationStatus, val rules: List = listOf(), val configuration: List = listOf() ) @@ -34,7 +35,6 @@ class RuleSetProviderCollector : Collector { } } -private const val TAG_ACTIVE = "active" private const val PROPERTY_RULE_SET_ID = "ruleSetId" private val SUPPORTED_PROVIDERS = @@ -44,7 +44,7 @@ class RuleSetProviderVisitor : DetektVisitor() { var containsRuleSetProvider = false private var name: String = "" private var description: String = "" - private var active: Boolean = false + private var defaultActivationStatus: DefaultActivationStatus = Inactive private val ruleNames: MutableList = mutableListOf() private val configuration = mutableListOf() @@ -57,7 +57,7 @@ class RuleSetProviderVisitor : DetektVisitor() { throw InvalidDocumentationException("Missing description for RuleSet $name.") } - return RuleSetProvider(name, description, active, ruleNames, configuration) + return RuleSetProvider(name, description, defaultActivationStatus, ruleNames, configuration) } override fun visitSuperTypeList(list: KtSuperTypeList) { @@ -71,7 +71,9 @@ class RuleSetProviderVisitor : DetektVisitor() { override fun visitClassOrObject(classOrObject: KtClassOrObject) { description = classOrObject.docComment?.getDefaultSection()?.getContent()?.trim() ?: "" - active = classOrObject.docComment?.getDefaultSection()?.findTagByName(TAG_ACTIVE) != null + if (classOrObject.isAnnotatedWith(ActiveByDefault::class)) { + defaultActivationStatus = Active(since = classOrObject.firstAnnotationParameter(ActiveByDefault::class)) + } configuration.addAll(classOrObject.parseConfigurationTags()) super.visitClassOrObject(classOrObject) } diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleVisitor.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleVisitor.kt index e878c72d0..bc00bd06e 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleVisitor.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleVisitor.kt @@ -3,6 +3,7 @@ package io.gitlab.arturbosch.detekt.generator.collection import io.gitlab.arturbosch.detekt.api.Debt import io.gitlab.arturbosch.detekt.api.DetektVisitor import io.gitlab.arturbosch.detekt.api.ThresholdRule +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import io.gitlab.arturbosch.detekt.formatting.FormattingRule import io.gitlab.arturbosch.detekt.generator.collection.exception.InvalidAliasesDeclaration @@ -27,8 +28,7 @@ internal class RuleVisitor : DetektVisitor() { private var nonCompliant = "" private var compliant = "" private var name = "" - private var active = false - private var activeSince: String? = null + private var defaultActivationStatus: DefaultActivationStatus = Inactive private var autoCorrect = false private var requiresTypeResolution = false private var severity = "" @@ -48,8 +48,7 @@ internal class RuleVisitor : DetektVisitor() { description = description, nonCompliantCodeExample = nonCompliant, compliantCodeExample = compliant, - active = active, - activeSince = activeSince, + defaultActivationStatus = defaultActivationStatus, severity = severity, debt = debt, aliases = aliases, @@ -91,14 +90,9 @@ internal class RuleVisitor : DetektVisitor() { throw InvalidDocumentationException("KDoc for rule $name must not contain tabs") } - active = classOrObject.hasKDocTag(TAG_ACTIVE) - val activeTagContent = classOrObject.kDocSection() - ?.findTagByName(TAG_ACTIVE) - ?.getContent() - ?.split(" ") - .orEmpty() - if (SINCE_KEYWORD in activeTagContent) { - activeSince = activeTagContent.last() + if (classOrObject.isAnnotatedWith(ActiveByDefault::class)) { + val activeByDefaultSinceValue = classOrObject.firstAnnotationParameter(ActiveByDefault::class) + defaultActivationStatus = Active(since = activeByDefaultSinceValue) } autoCorrect = classOrObject.hasKDocTag(TAG_AUTO_CORRECT) @@ -202,8 +196,6 @@ internal class RuleVisitor : DetektVisitor() { EmptyRule::class.simpleName ) - private const val TAG_ACTIVE = "active" - private const val SINCE_KEYWORD = "since" private const val TAG_AUTO_CORRECT = "autoCorrect" private const val TAG_NONCOMPLIANT = "" private const val ENDTAG_NONCOMPLIANT = "" diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/ConfigPrinter.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/ConfigPrinter.kt index 165236289..75075553a 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/ConfigPrinter.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/ConfigPrinter.kt @@ -33,7 +33,7 @@ object ConfigPrinter : DocumentationPrinter> { @Suppress("ComplexMethod") // preserving the declarative structure while building the dsl private fun YamlNode.printRuleSet(ruleSet: RuleSetProvider, rules: List) { node(ruleSet.name) { - keyValue { "active" to "${ruleSet.active}" } + keyValue { "active" to "${ruleSet.defaultActivationStatus.active}" } val ruleSetExclusion = exclusions.singleOrNull { ruleSet.name in it.ruleSets } if (ruleSetExclusion != null) { keyValue { Config.EXCLUDES_KEY to ruleSetExclusion.pattern } @@ -48,7 +48,7 @@ object ConfigPrinter : DocumentationPrinter> { } rules.forEach { rule -> node(rule.name) { - keyValue { Config.ACTIVE_KEY to "${rule.active}" } + keyValue { Config.ACTIVE_KEY to "${rule.defaultActivationStatus.active}" } if (rule.autoCorrect) { keyValue { Config.AUTO_CORRECT_KEY to "true" } } diff --git a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/RuleSetPagePrinter.kt b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/RuleSetPagePrinter.kt index ebd2c66e0..0dc3adb56 100644 --- a/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/RuleSetPagePrinter.kt +++ b/detekt-generator/src/main/kotlin/io/gitlab/arturbosch/detekt/generator/printer/rulesetpage/RuleSetPagePrinter.kt @@ -1,5 +1,6 @@ package io.gitlab.arturbosch.detekt.generator.printer.rulesetpage +import io.gitlab.arturbosch.detekt.generator.collection.Active import io.gitlab.arturbosch.detekt.generator.collection.Rule import io.gitlab.arturbosch.detekt.generator.out.MarkdownContent import io.gitlab.arturbosch.detekt.generator.out.bold @@ -41,8 +42,8 @@ object RuleSetPagePrinter : DocumentationPrinter { } paragraph { - "${bold { "Active by default" }}: ${if (rule.active) "Yes" else "No"}" + - (rule.activeSince?.let { " - Since $it" } ?: "") + "${bold { "Active by default" }}: ${if (rule.defaultActivationStatus.active) "Yes" else "No"}" + + ((rule.defaultActivationStatus as? Active)?.let { " - Since v${it.since}" } ?: "") } if (rule.requiresTypeResolution) { diff --git a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleCollectorSpec.kt b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleCollectorSpec.kt index 284a5cd69..3543df91c 100644 --- a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleCollectorSpec.kt +++ b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleCollectorSpec.kt @@ -75,7 +75,7 @@ class RuleCollectorSpec : Spek({ assertThat(items[0].description).contains("more...") } - it("is not active") { + it("is not active by default") { val code = """ /** * description @@ -83,45 +83,44 @@ class RuleCollectorSpec : Spek({ class SomeRandomClass : Rule """ val items = subject.run(code) - assertThat(items[0].active).isFalse() + assertThat(items[0].defaultActivationStatus.active).isFalse() } - it("is active tag present") { + it("is active by default with valid version") { val code = """ /** * description - * @active */ + @ActiveByDefault("1.12.123") class SomeRandomClass : Rule """ val items = subject.run(code) - assertThat(items[0].active).isTrue() + val defaultActivationStatus = items[0].defaultActivationStatus as Active + assertThat(defaultActivationStatus.since).isEqualTo("1.12.123") } - it("is active tag present with since") { + it("is active by default with named since") { val code = """ /** * description - * @active since v1.2.3 */ + @ActiveByDefault(since = "1.2.3") class SomeRandomClass : Rule """ val items = subject.run(code) - assertThat(items[0].active).isTrue - assertThat(items[0].activeSince).isEqualTo("v1.2.3") + val defaultActivationStatus = items[0].defaultActivationStatus as Active + assertThat(defaultActivationStatus.since).isEqualTo("1.2.3") } - it("is active tag present with since") { + it("is active by default with invalid version") { val code = """ /** * description - * @active whatever */ + @ActiveByDefault("1.2.x") class SomeRandomClass : Rule """ - val items = subject.run(code) - assertThat(items[0].active).isTrue - assertThat(items[0].activeSince).isNull() + assertThatExceptionOfType(InvalidDocumentationException::class.java).isThrownBy { subject.run(code) } } it("is auto-correctable tag is present") { @@ -136,18 +135,6 @@ class RuleCollectorSpec : Spek({ assertThat(items[0].autoCorrect).isTrue() } - it("is active if the tag is there and has a description") { - val code = """ - /** - * description - * @active description about the active tag - */ - class SomeRandomClass : Rule - """ - val items = subject.run(code) - assertThat(items[0].active).isTrue() - } - it("collects the issue property") { val code = """ /** diff --git a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollectorSpec.kt b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollectorSpec.kt index ac6b33369..7c5d5a506 100644 --- a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollectorSpec.kt +++ b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/collection/RuleSetProviderCollectorSpec.kt @@ -87,8 +87,9 @@ class RuleSetProviderCollectorSpec : Spek({ /** * $description * - * @active since v1.0.0 + * */ + @ActiveByDefault("1.0.0") class TestProvider: RuleSetProvider { override val ruleSetId: String = "$ruleSetId" @@ -127,7 +128,7 @@ class RuleSetProviderCollectorSpec : Spek({ it("is active") { val items = subject.run(code) val provider = items[0] - assertThat(provider.active).isTrue() + assertThat(provider.defaultActivationStatus.active).isTrue() } } @@ -155,7 +156,7 @@ class RuleSetProviderCollectorSpec : Spek({ it("is not active") { val items = subject.run(code) val provider = items[0] - assertThat(provider.active).isFalse() + assertThat(provider.defaultActivationStatus.active).isFalse() } } @@ -206,6 +207,31 @@ class RuleSetProviderCollectorSpec : Spek({ } } + context("a RuleSetProvider with invalid activation version") { + val code = """ + package foo + + /** + * description + */ + @ActiveByDefault(since = "1.2.xyz") + class TestProvider: RuleSetProvider { + override val ruleSetId: String = "ruleSetId" + + override fun instance(config: Config): RuleSet { + return RuleSet(ruleSetId, listOf( + TestRule(config) + )) + } + } + """ + + it("throws an exception") { + assertThatExceptionOfType(InvalidDocumentationException::class.java) + .isThrownBy { subject.run(code) } + } + } + context("a RuleSetProvider with no rules") { val ruleSetId = "test" val code = """ @@ -236,9 +262,8 @@ class RuleSetProviderCollectorSpec : Spek({ /** * $description - * - * @active since v1.0.0 */ + @ActiveByDefault("1.0.0") class TestProvider: RuleSetProvider { override val ruleSetId: String = "$ruleSetId" diff --git a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt index 3bf04a38d..f752bfd6a 100644 --- a/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt +++ b/detekt-generator/src/test/kotlin/io/gitlab/arturbosch/detekt/generator/util/RuleSetPageCreator.kt @@ -1,13 +1,15 @@ package io.gitlab.arturbosch.detekt.generator.util +import io.gitlab.arturbosch.detekt.generator.collection.Active import io.gitlab.arturbosch.detekt.generator.collection.Configuration +import io.gitlab.arturbosch.detekt.generator.collection.Inactive import io.gitlab.arturbosch.detekt.generator.collection.Rule import io.gitlab.arturbosch.detekt.generator.collection.RuleSetProvider import io.gitlab.arturbosch.detekt.generator.printer.rulesetpage.RuleSetPage internal fun createRuleSetPage(): RuleSetPage { val rules = createRules() - val ruleSetProvider = RuleSetProvider("style", "style rule set", true, rules.map { it.name }) + val ruleSetProvider = RuleSetProvider("style", "style rule set", Active("1.0.0"), rules.map { it.name }) return RuleSetPage(ruleSetProvider, rules) } @@ -17,8 +19,7 @@ internal fun createRules(): List { description = "a wildcard import", nonCompliantCodeExample = "import foo.*", compliantCodeExample = "import foo.bar", - active = true, - activeSince = "v1.0.0", + defaultActivationStatus = Active(since = "1.0.0"), severity = "Defect", debt = "10min", aliases = "alias1, alias2", @@ -33,7 +34,7 @@ internal fun createRules(): List { description = "equals null", nonCompliantCodeExample = "", compliantCodeExample = "", - active = false, + defaultActivationStatus = Inactive, severity = "", debt = "", aliases = null, @@ -45,8 +46,7 @@ internal fun createRules(): List { description = "removes :Unit", nonCompliantCodeExample = "fun stuff(): Unit {}", compliantCodeExample = "fun stuff() {}", - active = true, - activeSince = "v1.16.0", + defaultActivationStatus = Active(since = "1.16.0"), severity = "", debt = "5m", aliases = null, diff --git a/detekt-report-xml/src/main/kotlin/io/github/detekt/report/xml/XmlEscape.kt b/detekt-report-xml/src/main/kotlin/io/github/detekt/report/xml/XmlEscape.kt index ca0c49f50..d94a5e4bf 100644 --- a/detekt-report-xml/src/main/kotlin/io/github/detekt/report/xml/XmlEscape.kt +++ b/detekt-report-xml/src/main/kotlin/io/github/detekt/report/xml/XmlEscape.kt @@ -29,8 +29,6 @@ import java.util.Collections * Adapted from Unbescape - https://github.com/unbescape/unbescape/ * * Utility class for performing XML escape/unescape operations. - * - * @active since v1.0.0 */ object XmlEscape { diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexCondition.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexCondition.kt index ddb05a1c1..bc5b5a9d2 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexCondition.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexCondition.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Metric import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.ThresholdRule import io.gitlab.arturbosch.detekt.api.ThresholdedCodeSmell +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtBinaryExpression import org.jetbrains.kotlin.psi.KtDoWhileExpression import org.jetbrains.kotlin.psi.KtExpression @@ -37,9 +38,8 @@ import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType * * * @configuration threshold - the number of conditions which will trigger the rule (default: `4`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ComplexCondition( config: Config = Config.empty, threshold: Int = DEFAULT_CONDITIONS_COUNT diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexMethod.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexMethod.kt index 85ae32acd..ec1993fba 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexMethod.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexMethod.kt @@ -10,6 +10,7 @@ import io.gitlab.arturbosch.detekt.api.Metric import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.ThresholdRule import io.gitlab.arturbosch.detekt.api.ThresholdedCodeSmell +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtExpression @@ -44,9 +45,8 @@ import org.jetbrains.kotlin.psi.KtWhenExpression * `for` statement (default: `false`) * @configuration nestingFunctions - Comma separated list of function names which add complexity * (default: `[run, let, apply, with, also, use, forEach, isNotNull, ifNull]`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ComplexMethod( config: Config = Config.empty, threshold: Int = DEFAULT_THRESHOLD_METHOD_COMPLEXITY diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexityProvider.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexityProvider.kt index cf2ad9e75..745e206e0 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexityProvider.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/ComplexityProvider.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.rules.complexity import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * This rule set contains rules that report complex code. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ComplexityProvider : DefaultRuleSetProvider { override val ruleSetId: String = "complexity" diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LargeClass.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LargeClass.kt index 9e3af5f10..f2c6df90c 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LargeClass.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LargeClass.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Metric import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.ThresholdRule import io.gitlab.arturbosch.detekt.api.ThresholdedCodeSmell +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType @@ -22,9 +23,8 @@ import java.util.IdentityHashMap * things. * * @configuration threshold - the size of class required to trigger the rule (default: `600`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class LargeClass( config: Config = Config.empty, threshold: Int = DEFAULT_THRESHOLD_CLASS_LENGTH diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongMethod.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongMethod.kt index 0fc61846d..c95c14d8d 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongMethod.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongMethod.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Metric import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.ThresholdRule import io.gitlab.arturbosch.detekt.api.ThresholdedCodeSmell +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType @@ -22,9 +23,8 @@ import java.util.IdentityHashMap * Extract parts of the functionality of long methods into separate, smaller methods. * * @configuration threshold - number of lines in a method to trigger the rule (default: `60`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class LongMethod( config: Config = Config.empty, threshold: Int = DEFAULT_THRESHOLD_METHOD_LENGTH diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongParameterList.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongParameterList.kt index 39f313caa..d548e1977 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongParameterList.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/LongParameterList.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Metric import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.ThresholdedCodeSmell +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import io.gitlab.arturbosch.detekt.rules.isOverride import org.jetbrains.kotlin.psi.KtAnnotated @@ -34,9 +35,8 @@ import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject * @configuration ignoreAnnotated - ignore long parameters list for constructors or functions in the context of these * annotation class names (default: `[]`); (e.g. ['Inject', 'Module', 'Suppress']); * the most common case is for dependency injection where constructors are annotated with @Inject. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class LongParameterList( config: Config = Config.empty ) : Rule(config) { diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedBlockDepth.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedBlockDepth.kt index eafb2712f..b66331207 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedBlockDepth.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/NestedBlockDepth.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Metric import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.ThresholdRule import io.gitlab.arturbosch.detekt.api.ThresholdedCodeSmell +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isUsedForNesting import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtContainerNodeForControlStructureBody @@ -26,9 +27,8 @@ import org.jetbrains.kotlin.psi.KtWhenExpression * Prefer extracting the nested code into well-named functions to make it easier to understand. * * @configuration threshold - the nested depth required to trigger rule (default: `4`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NestedBlockDepth( config: Config = Config.empty, threshold: Int = DEFAULT_THRESHOLD_NESTING diff --git a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/TooManyFunctions.kt b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/TooManyFunctions.kt index 40b96fb1e..90ee59dd0 100644 --- a/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/TooManyFunctions.kt +++ b/detekt-rules-complexity/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/complexity/TooManyFunctions.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Metric import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.ThresholdedCodeSmell +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.hasAnnotation import io.gitlab.arturbosch.detekt.rules.isOverride import org.jetbrains.kotlin.psi.KtClass @@ -32,9 +33,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isPrivate * @configuration ignoreDeprecated - ignore deprecated functions (default: `false`) * @configuration ignorePrivate - ignore private functions (default: `false`) * @configuration ignoreOverridden - ignore overridden functions (default: `false`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class TooManyFunctions(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/CoroutinesProvider.kt b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/CoroutinesProvider.kt index 86562635e..ac2e000e0 100644 --- a/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/CoroutinesProvider.kt +++ b/detekt-rules-coroutines/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/coroutines/CoroutinesProvider.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.rules.coroutines import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * The coroutines rule set analyzes code for potential coroutines problems. - * - * @active since v1.4.0 */ +@ActiveByDefault(since = "1.4.0") class CoroutinesProvider : DefaultRuleSetProvider { override val ruleSetId: String = "coroutines" diff --git a/detekt-rules-documentation/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/documentation/CommentSmellProvider.kt b/detekt-rules-documentation/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/documentation/CommentSmellProvider.kt index 393d63061..dc9518126 100644 --- a/detekt-rules-documentation/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/documentation/CommentSmellProvider.kt +++ b/detekt-rules-documentation/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/documentation/CommentSmellProvider.kt @@ -2,14 +2,14 @@ package io.gitlab.arturbosch.detekt.rules.documentation import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * This rule set provides rules that address issues in comments and documentation * of the code. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class CommentSmellProvider : DefaultRuleSetProvider { override val ruleSetId: String = "comments" diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyBlocks.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyBlocks.kt index b1e0e8f34..626807bb9 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyBlocks.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyBlocks.kt @@ -3,6 +3,7 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.MultiRule import io.gitlab.arturbosch.detekt.api.Rule +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCatchClause import org.jetbrains.kotlin.psi.KtClassInitializer import org.jetbrains.kotlin.psi.KtClassOrObject @@ -25,10 +26,9 @@ import org.jetbrains.kotlin.psi.KtWhileExpression * fun unnecessaryFunction() { * } * - * - * @active since v1.0.0 */ @Suppress("TooManyFunctions") +@ActiveByDefault(since = "1.0.0") class EmptyBlocks(val config: Config = Config.empty) : MultiRule() { private val emptyCatchBlock = EmptyCatchBlock(config) diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCatchBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCatchBlock.kt index d41a9869d..0911164a5 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCatchBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCatchBlock.kt @@ -2,6 +2,7 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.LazyRegex +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.ALLOWED_EXCEPTION_NAME import io.gitlab.arturbosch.detekt.rules.isAllowedExceptionName import org.jetbrains.kotlin.psi.KtCatchClause @@ -13,8 +14,8 @@ import org.jetbrains.kotlin.psi.KtCatchClause * * @configuration allowedExceptionNameRegex - ignores exception types which match this regex * (default: `'_|(ignore|expected).*'`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyCatchBlock(config: Config) : EmptyRule( config = config, description = diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyClassBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyClassBlock.kt index c58e9cab7..464e256b6 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyClassBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyClassBlock.kt @@ -3,15 +3,15 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.CodeSmell import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.Entity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.hasCommentInside import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.psiUtil.isObjectLiteral /** * Reports empty classes. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyClassBlock(config: Config) : EmptyRule(config) { override fun visitClassOrObject(classOrObject: KtClassOrObject) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCodeProvider.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCodeProvider.kt index 2e33240e5..661495023 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCodeProvider.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyCodeProvider.kt @@ -2,14 +2,14 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * The empty-blocks ruleset contains rules that will report empty blocks of code * which should be avoided. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyCodeProvider : DefaultRuleSetProvider { override val ruleSetId: String = "empty-blocks" diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDefaultConstructor.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDefaultConstructor.kt index 796818f77..e37eb582f 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDefaultConstructor.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDefaultConstructor.kt @@ -3,6 +3,7 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.CodeSmell import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.Entity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.lexer.KtModifierKeywordToken import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtClass @@ -13,9 +14,8 @@ import org.jetbrains.kotlin.psi.psiUtil.visibilityModifierType /** * Reports empty default constructors. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyDefaultConstructor(config: Config) : EmptyRule(config = config) { override fun visitPrimaryConstructor(constructor: KtPrimaryConstructor) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDoWhileBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDoWhileBlock.kt index 1c6f1ab5d..524e7848c 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDoWhileBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyDoWhileBlock.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtDoWhileExpression /** * Reports empty `do`/`while` loops. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyDoWhileBlock(config: Config) : EmptyRule(config) { override fun visitDoWhileExpression(expression: KtDoWhileExpression) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyElseBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyElseBlock.kt index 2ef011d71..a4c32c93e 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyElseBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyElseBlock.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtIfExpression /** * Reports empty `else` blocks. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyElseBlock(config: Config) : EmptyRule(config) { override fun visitIfExpression(expression: KtIfExpression) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFinallyBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFinallyBlock.kt index 1903fe567..6d3ee16fc 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFinallyBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFinallyBlock.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtFinallySection /** * Reports empty `finally` blocks. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyFinallyBlock(config: Config) : EmptyRule(config) { override fun visitFinallySection(finallySection: KtFinallySection) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyForBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyForBlock.kt index 597184f4b..5d0e9fddb 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyForBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyForBlock.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtForExpression /** * Reports empty `for` loops. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyForBlock(config: Config) : EmptyRule(config) { override fun visitForExpression(expression: KtForExpression) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFunctionBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFunctionBlock.kt index db059474e..fd26d811c 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFunctionBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyFunctionBlock.kt @@ -1,6 +1,7 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isOpen import io.gitlab.arturbosch.detekt.rules.isOverride import org.jetbrains.kotlin.psi.KtClass @@ -18,9 +19,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getParentOfType * @configuration ignoreOverriddenFunctions - Excludes all the overridden functions (default: `false`) * (deprecated: "Use `ignoreOverridden` instead") * @configuration ignoreOverridden - Excludes all the overridden functions (default: `false`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyFunctionBlock(config: Config) : EmptyRule(config) { private val ignoreOverridden = diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyIfBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyIfBlock.kt index 481d73134..298d80f3a 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyIfBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyIfBlock.kt @@ -3,15 +3,15 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.CodeSmell import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.Entity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.LeafPsiElement import org.jetbrains.kotlin.lexer.KtSingleValueToken import org.jetbrains.kotlin.psi.KtIfExpression /** * Reports empty `if` blocks. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyIfBlock(config: Config) : EmptyRule(config) { override fun visitIfExpression(expression: KtIfExpression) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyInitBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyInitBlock.kt index bb9c13bab..ae28db456 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyInitBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyInitBlock.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtClassInitializer /** * Reports empty `init` expressions. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyInitBlock(config: Config) : EmptyRule(config) { override fun visitClassInitializer(initializer: KtClassInitializer) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyKtFile.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyKtFile.kt index 892bdc7fc..30e607bfc 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyKtFile.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyKtFile.kt @@ -3,13 +3,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.CodeSmell import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.Entity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtFile /** * Reports empty Kotlin (.kt) files. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyKtFile(config: Config) : EmptyRule(config) { override fun visitKtFile(file: KtFile) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptySecondaryConstructor.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptySecondaryConstructor.kt index 52de0afcc..542de9cb9 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptySecondaryConstructor.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptySecondaryConstructor.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtSecondaryConstructor /** * Reports empty secondary constructors. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptySecondaryConstructor(config: Config) : EmptyRule(config) { override fun visitSecondaryConstructor(constructor: KtSecondaryConstructor) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyTryBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyTryBlock.kt index 9c5b1094d..504f40d9a 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyTryBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyTryBlock.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtTryExpression /** * Reports empty `try` blocks. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.6.0 */ +@ActiveByDefault(since = "1.6.0") class EmptyTryBlock(config: Config) : EmptyRule(config) { override fun visitTryExpression(expression: KtTryExpression) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhenBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhenBlock.kt index 1a9f1c0bf..0ae240013 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhenBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhenBlock.kt @@ -3,13 +3,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.CodeSmell import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.Entity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtWhenExpression /** * Reports empty `when` expressions. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyWhenBlock(config: Config) : EmptyRule(config) { override fun visitWhenExpression(expression: KtWhenExpression) { diff --git a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhileBlock.kt b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhileBlock.kt index 6c223887e..0c2e5ab20 100644 --- a/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhileBlock.kt +++ b/detekt-rules-empty/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/empty/EmptyWhileBlock.kt @@ -1,13 +1,13 @@ package io.gitlab.arturbosch.detekt.rules.empty import io.gitlab.arturbosch.detekt.api.Config +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtWhileExpression /** * Reports empty `while` expressions. Empty blocks of code serve no purpose and should be removed. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EmptyWhileBlock(config: Config) : EmptyRule(config) { override fun visitWhileExpression(expression: KtWhileExpression) { diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DuplicateCaseInWhenExpression.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DuplicateCaseInWhenExpression.kt index 3f8fea221..a716a3b88 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DuplicateCaseInWhenExpression.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/DuplicateCaseInWhenExpression.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtWhenExpression /** @@ -29,9 +30,8 @@ import org.jetbrains.kotlin.psi.KtWhenExpression * else -> println("else") * } * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class DuplicateCaseInWhenExpression(config: Config) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsAlwaysReturnsTrueOrFalse.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsAlwaysReturnsTrueOrFalse.kt index 0445ddd73..949446d4d 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsAlwaysReturnsTrueOrFalse.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsAlwaysReturnsTrueOrFalse.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isEqualsFunction import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.com.intellij.psi.PsiElement @@ -35,9 +36,8 @@ import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType * return this === other * } * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class EqualsAlwaysReturnsTrueOrFalse(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsWithHashCodeExist.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsWithHashCodeExist.kt index 9dffd4788..3cfb7d57e 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsWithHashCodeExist.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/EqualsWithHashCodeExist.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isEqualsFunction import io.gitlab.arturbosch.detekt.rules.isHashCodeFunction import org.jetbrains.kotlin.com.intellij.psi.PsiFile @@ -43,9 +44,8 @@ import java.util.ArrayDeque * } * } * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EqualsWithHashCodeExist(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExplicitGarbageCollectionCall.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExplicitGarbageCollectionCall.kt index 13ad94f33..7ff3b4479 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExplicitGarbageCollectionCall.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ExplicitGarbageCollectionCall.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtSimpleNameExpression import org.jetbrains.kotlin.psi.psiUtil.getCallNameExpression @@ -22,9 +23,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression * Runtime.getRuntime().gc() * System.runFinalization() * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ExplicitGarbageCollectionCall(config: Config) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitDefaultLocale.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitDefaultLocale.kt index 8bf7c6c8e..ec30ae3c0 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitDefaultLocale.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/ImplicitDefaultLocale.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.builtins.KotlinBuiltIns.isStringOrNullableString import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtDotQualifiedExpression @@ -40,9 +41,8 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getType * str.toUpperCase(Locale.US) * str.toLowerCase(Locale.US) * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class ImplicitDefaultLocale(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt index 654f503cc..e7295c0bb 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.getIntValueForPsiElement import org.jetbrains.kotlin.com.intellij.psi.PsiElement import org.jetbrains.kotlin.psi.KtBinaryExpression @@ -30,9 +31,8 @@ import org.jetbrains.kotlin.psi.KtBinaryExpression * * val range = 2 until 3 * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class InvalidRange(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorHasNextCallsNextMethod.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorHasNextCallsNextMethod.kt index b00450273..dcd0e3d8c 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorHasNextCallsNextMethod.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorHasNextCallsNextMethod.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtNamedDeclaration @@ -27,9 +28,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getSuperNames * } * } * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class IteratorHasNextCallsNextMethod(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorNotThrowingNoSuchElementException.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorNotThrowingNoSuchElementException.kt index cf3bccce5..834598635 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorNotThrowingNoSuchElementException.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/IteratorNotThrowingNoSuchElementException.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtNamedDeclaration @@ -42,9 +43,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getSuperNames * } * } * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class IteratorNotThrowingNoSuchElementException(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt index bb3325741..d1d82c1fd 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/MissingWhenCase.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.cfg.WhenChecker import org.jetbrains.kotlin.cfg.WhenMissingCase @@ -64,10 +65,8 @@ import org.jetbrains.kotlin.resolve.calls.callUtil.getType * } * * @configuration allowElseExpression - whether `else` can be treated as a valid case for enums and sealed classes (default: `true`) - * - * @active since v1.2.0 - * */ +@ActiveByDefault(since = "1.2.0") @RequiresTypeResolution class MissingWhenCase(config: Config = Config.empty) : Rule(config) { diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt index 46f7cf42f..e5a012223 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/PotentialBugProvider.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.rules.bugs import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * The potential-bugs rule set provides rules that detect potential bugs. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class PotentialBugProvider : DefaultRuleSetProvider { override val ruleSetId: String = "potential-bugs" diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt index 3a0fc017d..e4a2b80d8 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/RedundantElseInWhen.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtWhenExpression @@ -56,10 +57,9 @@ import org.jetbrains.kotlin.resolve.BindingContext * } * } * - * - * @active since v1.2.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.2.0") class RedundantElseInWhen(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt index 9555f73d0..d6c60d431 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessaryNotNullOperator.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtUnaryExpression @@ -24,10 +25,9 @@ import org.jetbrains.kotlin.resolve.BindingContext * val a = 1 * val b = a * - * - * @active since v1.16.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.16.0") class UnnecessaryNotNullOperator(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt index 8087e1e5a..4bd32d389 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnnecessarySafeCall.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.LeafPsiElement import org.jetbrains.kotlin.diagnostics.DiagnosticWithParameters1 @@ -29,10 +30,9 @@ import org.jetbrains.kotlin.types.ErrorType * val a: String? = null * val b = a?.length * - * - * @active since v1.16.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.16.0") class UnnecessarySafeCall(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt index 6373a1d27..36c4d0191 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnreachableCode.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtExpression @@ -31,10 +32,9 @@ import org.jetbrains.kotlin.resolve.BindingContext * println() // unreachable * } * - * - * @active since v1.0.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.0.0") class UnreachableCode(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt index 06d92f6d2..a20fd3d40 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCallOnNullableType.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtPostfixExpression @@ -31,10 +32,9 @@ import org.jetbrains.kotlin.types.typeUtil.nullability * println(str?.length) * } * - * - * @active since v1.2.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.2.0") class UnsafeCallOnNullableType(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( "UnsafeCallOnNullableType", diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt index d8644509b..09d3cf15a 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/UnsafeCast.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.psi.KtBinaryExpressionWithTypeRHS @@ -30,10 +31,9 @@ import org.jetbrains.kotlin.resolve.BindingContext * println(s as Int) * } * - * - * @active since v1.16.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.16.0") class UnsafeCast(config: Config = Config.empty) : Rule(config) { override val defaultRuleIdAliases: Set = setOf("UNCHECKED_CAST") diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/WrongEqualsTypeParameter.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/WrongEqualsTypeParameter.kt index 427108df1..0c7175c98 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/WrongEqualsTypeParameter.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/WrongEqualsTypeParameter.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.hasCorrectEqualsParameter import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtNamedFunction @@ -33,9 +34,8 @@ import org.jetbrains.kotlin.psi.KtNamedFunction * } * } * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class WrongEqualsTypeParameter(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionRaisedInUnexpectedLocation.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionRaisedInUnexpectedLocation.kt index 9e28f608b..9743e9221 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionRaisedInUnexpectedLocation.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionRaisedInUnexpectedLocation.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import org.jetbrains.kotlin.psi.KtExpression import org.jetbrains.kotlin.psi.KtNamedFunction @@ -30,8 +31,8 @@ import org.jetbrains.kotlin.psi.psiUtil.anyDescendantOfType * * @configuration methodNames - methods which should not throw exceptions * (default: `[toString, hashCode, equals, finalize]`) - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class ExceptionRaisedInUnexpectedLocation(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionsProvider.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionsProvider.kt index 574dd3690..7f31b08f0 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionsProvider.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ExceptionsProvider.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.rules.exceptions import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * Rules in this rule set report issues related to how code throws and handles Exceptions. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ExceptionsProvider : DefaultRuleSetProvider { override val ruleSetId: String = "exceptions" diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/PrintStackTrace.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/PrintStackTrace.kt index f82799004..39edaa1bb 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/PrintStackTrace.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/PrintStackTrace.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtCatchClause import org.jetbrains.kotlin.psi.KtNameReferenceExpression @@ -43,9 +44,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression * } * } * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class PrintStackTrace(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/RethrowCaughtException.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/RethrowCaughtException.kt index 96fdb5b70..36bd0cecd 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/RethrowCaughtException.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/RethrowCaughtException.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCatchClause import org.jetbrains.kotlin.psi.KtThrowExpression @@ -45,9 +46,8 @@ import org.jetbrains.kotlin.psi.KtThrowExpression * } * } * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class RethrowCaughtException(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt index dbd56402d..87f1497f6 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ReturnFromFinally.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.psi.KtBlockExpression import org.jetbrains.kotlin.psi.KtFinallySection @@ -39,9 +40,9 @@ import org.jetbrains.kotlin.types.KotlinType * * * @configuration ignoreLabeled - ignores labeled return statements (default: `false`) - * @active since v1.16.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.16.0") class ReturnFromFinally(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/SwallowedException.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/SwallowedException.kt index e08ff95f4..e89541717 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/SwallowedException.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/SwallowedException.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import io.gitlab.arturbosch.detekt.rules.ALLOWED_EXCEPTION_NAME import io.gitlab.arturbosch.detekt.rules.isAllowedExceptionName @@ -75,8 +76,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType * - MalformedURLException`) * @configuration allowedExceptionNameRegex - ignores too generic exception types which match this regex * (default: `'_|(ignore|expected).*'`) - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class SwallowedException(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionFromFinally.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionFromFinally.kt index 6f8d64e35..14d44318c 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionFromFinally.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionFromFinally.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtFinallySection import org.jetbrains.kotlin.psi.KtThrowExpression import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType @@ -24,8 +25,8 @@ import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType * } * } * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class ThrowingExceptionFromFinally(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionsWithoutMessageOrCause.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionsWithoutMessageOrCause.kt index c43fe5f49..edad4a9eb 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionsWithoutMessageOrCause.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingExceptionsWithoutMessageOrCause.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import org.jetbrains.kotlin.psi.KtCallExpression @@ -38,8 +39,8 @@ import org.jetbrains.kotlin.psi.KtCallExpression * (default: `- IllegalArgumentException * - IllegalStateException * - IOException`) - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class ThrowingExceptionsWithoutMessageOrCause(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingNewInstanceOfSameException.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingNewInstanceOfSameException.kt index 9b16e0f7e..5d2b2148b 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingNewInstanceOfSameException.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/ThrowingNewInstanceOfSameException.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtCatchClause import org.jetbrains.kotlin.psi.KtThrowExpression @@ -36,9 +37,8 @@ import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType * } * } * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class ThrowingNewInstanceOfSameException(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionCaught.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionCaught.kt index 42fac07f2..7394a7a94 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionCaught.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionCaught.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.ALLOWED_EXCEPTION_NAME import io.gitlab.arturbosch.detekt.rules.isAllowedExceptionName import org.jetbrains.kotlin.psi.KtCatchClause @@ -45,8 +46,8 @@ import org.jetbrains.kotlin.psi.KtTypeReference * - Throwable`) * @configuration allowedExceptionNameRegex - ignores too generic exception types which match this regex * (default: `'_|(ignore|expected).*'`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class TooGenericExceptionCaught(config: Config) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionThrown.kt b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionThrown.kt index 7315fb3c0..d722cb1b7 100644 --- a/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionThrown.kt +++ b/detekt-rules-exceptions/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/exceptions/TooGenericExceptionThrown.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtThrowExpression import org.jetbrains.kotlin.psi.psiUtil.referenceExpression @@ -37,9 +38,8 @@ import org.jetbrains.kotlin.psi.psiUtil.referenceExpression * - Exception * - Throwable * - RuntimeException`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class TooGenericExceptionThrown(config: Config) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ClassNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ClassNaming.kt index cf94ffa06..ca97f6afa 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ClassNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ClassNaming.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.identifierName import org.jetbrains.kotlin.psi.KtClassOrObject @@ -15,8 +16,8 @@ import org.jetbrains.kotlin.psi.KtClassOrObject * Reports when class or object names which do not follow the specified naming convention are used. * * @configuration classPattern - naming pattern (default: `'[A-Z][a-zA-Z0-9]*'`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ClassNaming(config: Config = Config.empty) : Rule(config) { override val defaultRuleIdAliases: Set = setOf("ClassName") diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ConstructorParameterNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ConstructorParameterNaming.kt index fed2ffc67..4d4c8cfd9 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ConstructorParameterNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ConstructorParameterNaming.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.identifierName import io.gitlab.arturbosch.detekt.rules.isOverride import io.gitlab.arturbosch.detekt.rules.naming.util.isContainingExcludedClassOrObject @@ -21,9 +22,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isPrivate * @configuration privateParameterPattern - naming pattern (default: `'[a-z][A-Za-z0-9]*'`) * @configuration excludeClassPattern - ignores variables in classes which match this regex (default: `'$^'`) * @configuration ignoreOverridden - ignores constructor properties that have the override modifier (default: `true`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ConstructorParameterNaming(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/EnumNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/EnumNaming.kt index ff8f3aed5..7e16213df 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/EnumNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/EnumNaming.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.identifierName import org.jetbrains.kotlin.psi.KtEnumEntry @@ -15,8 +16,8 @@ import org.jetbrains.kotlin.psi.KtEnumEntry * Reports when enum names which do not follow the specified naming convention are used. * * @configuration enumEntryPattern - naming pattern (default: `'[A-Z][_a-zA-Z0-9]*'`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class EnumNaming(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionNaming.kt index 82a578899..369d4a3fa 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionNaming.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import io.gitlab.arturbosch.detekt.rules.isOverride import io.gitlab.arturbosch.detekt.rules.naming.util.isContainingExcludedClassOrObject @@ -24,9 +25,8 @@ import org.jetbrains.kotlin.psi.KtNamedFunction * @configuration ignoreOverridden - ignores functions that have the override modifier (default: `true`) * @configuration ignoreAnnotated - ignore naming for functions in the context of these * annotation class names (default: `['Composable']`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class FunctionNaming(config: Config = Config.empty) : Rule(config) { override val defaultRuleIdAliases: Set = setOf("FunctionName") diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionParameterNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionParameterNaming.kt index 5219e65e5..6f0786f3a 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionParameterNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/FunctionParameterNaming.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.identifierName import io.gitlab.arturbosch.detekt.rules.isOverride import io.gitlab.arturbosch.detekt.rules.naming.util.isContainingExcludedClass @@ -22,9 +23,8 @@ import org.jetbrains.kotlin.psi.KtParameter * (default: `true`) (deprecated: "Use `ignoreOverridden` instead") * @configuration ignoreOverridden - ignores overridden functions with parameters not matching the pattern * (default: `true`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class FunctionParameterNaming(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MatchingDeclarationName.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MatchingDeclarationName.kt index 13bfe3c5b..4147f9b3d 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MatchingDeclarationName.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MatchingDeclarationName.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtTypeAlias @@ -45,9 +46,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isPrivate * * * @configuration mustBeFirst - name should only be checked if the file starts with a class or object (default: `true`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class MatchingDeclarationName(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MemberNameEqualsClassName.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MemberNameEqualsClassName.kt index 9e11b5e5e..5a6fea0f9 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MemberNameEqualsClassName.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/MemberNameEqualsClassName.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isOverride import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor @@ -53,9 +54,8 @@ import org.jetbrains.kotlin.resolve.BindingContext * @configuration ignoreOverriddenFunction - if overridden functions and properties should be ignored (default: `true`) * (deprecated: "Use `ignoreOverridden` instead") * @configuration ignoreOverridden - if overridden functions and properties should be ignored (default: `true`) - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class MemberNameEqualsClassName(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NamingProvider.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NamingProvider.kt index d32793ab6..65a4017f5 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NamingProvider.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/NamingProvider.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.rules.naming import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * The naming ruleset contains rules which assert the naming of different parts of the codebase. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NamingProvider : DefaultRuleSetProvider { override val ruleSetId: String = "naming" diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ObjectPropertyNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ObjectPropertyNaming.kt index e72b6483f..c3452df46 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ObjectPropertyNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/ObjectPropertyNaming.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.identifierName import io.gitlab.arturbosch.detekt.rules.isConstant import org.jetbrains.kotlin.psi.KtProperty @@ -19,8 +20,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isPrivate * @configuration constantPattern - naming pattern (default: `'[A-Za-z][_A-Za-z0-9]*'`) * @configuration propertyPattern - naming pattern (default: `'[A-Za-z][_A-Za-z0-9]*'`) * @configuration privatePropertyPattern - naming pattern (default: `'(_)?[A-Za-z][_A-Za-z0-9]*'`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ObjectPropertyNaming(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/PackageNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/PackageNaming.kt index 296027b4a..f4686b298 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/PackageNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/PackageNaming.kt @@ -8,14 +8,15 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtPackageDirective /** * Reports when package names which do not follow the specified naming convention are used. * * @configuration packagePattern - naming pattern (default: `'[a-z]+(\.[a-z][A-Za-z0-9]*)*'`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class PackageNaming(config: Config = Config.empty) : Rule(config) { override val defaultRuleIdAliases: Set = setOf("PackageDirectoryMismatch") diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/TopLevelPropertyNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/TopLevelPropertyNaming.kt index dce3907bf..e1e830caf 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/TopLevelPropertyNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/TopLevelPropertyNaming.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.identifierName import io.gitlab.arturbosch.detekt.rules.isConstant import org.jetbrains.kotlin.psi.KtProperty @@ -19,9 +20,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isPrivate * @configuration constantPattern - naming pattern (default: `'[A-Z][_A-Z0-9]*'`) * @configuration propertyPattern - naming pattern (default: `'[A-Za-z][_A-Za-z0-9]*'`) * @configuration privatePropertyPattern - naming pattern (default: `'_?[A-Za-z][_A-Za-z0-9]*'`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class TopLevelPropertyNaming(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/VariableNaming.kt b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/VariableNaming.kt index d32321d44..8885b41a5 100644 --- a/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/VariableNaming.kt +++ b/detekt-rules-naming/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/naming/VariableNaming.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.identifierName import io.gitlab.arturbosch.detekt.rules.isOverride import io.gitlab.arturbosch.detekt.rules.naming.util.isContainingExcludedClassOrObject @@ -22,9 +23,8 @@ import org.jetbrains.kotlin.resolve.calls.util.isSingleUnderscore * @configuration privateVariablePattern - naming pattern (default: `'(_)?[a-z][A-Za-z0-9]*'`) * @configuration excludeClassPattern - ignores variables in classes which match this regex (default: `'$^'`) * @configuration ignoreOverridden - ignores member properties that have the override modifier (default: `true`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class VariableNaming(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt index bf4059e5f..81332eb0f 100644 --- a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt +++ b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ArrayPrimitive.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.PrimitiveType @@ -39,10 +40,9 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull * * fun returningFunction(): DoubleArray { } * - * - * @active since v1.2.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.2.0") class ArrayPrimitive(config: Config = Config.empty) : Rule(config) { override val issue = Issue( "ArrayPrimitive", diff --git a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ForEachOnRange.kt b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ForEachOnRange.kt index e1729e7fc..0a3c176c1 100644 --- a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ForEachOnRange.kt +++ b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/ForEachOnRange.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.getIntValueForPsiElement import org.jetbrains.kotlin.com.intellij.psi.PsiElement import org.jetbrains.kotlin.psi.KtBinaryExpression @@ -40,9 +41,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression * println(i) * } * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ForEachOnRange(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/PerformanceProvider.kt b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/PerformanceProvider.kt index 32fe398c8..c7ad20c54 100644 --- a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/PerformanceProvider.kt +++ b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/PerformanceProvider.kt @@ -2,13 +2,13 @@ package io.gitlab.arturbosch.detekt.rules.performance import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider /** * The performance rule set analyzes code for potential performance problems. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class PerformanceProvider : DefaultRuleSetProvider { override val ruleSetId: String = "performance" diff --git a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/SpreadOperator.kt b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/SpreadOperator.kt index f649b4be4..779cc996c 100644 --- a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/SpreadOperator.kt +++ b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/SpreadOperator.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.descriptors.ConstructorDescriptor import org.jetbrains.kotlin.descriptors.ParameterDescriptor import org.jetbrains.kotlin.psi.KtNamedFunction @@ -48,9 +49,8 @@ import org.jetbrains.kotlin.resolve.calls.components.isVararg * strs.forEach { println(it) } * } * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SpreadOperator(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/UnnecessaryTemporaryInstantiation.kt b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/UnnecessaryTemporaryInstantiation.kt index bcf6c7b08..2ce3dd462 100644 --- a/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/UnnecessaryTemporaryInstantiation.kt +++ b/detekt-rules-performance/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/performance/UnnecessaryTemporaryInstantiation.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.com.intellij.psi.PsiElement import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtExpression @@ -23,9 +24,8 @@ import org.jetbrains.kotlin.psi.KtExpression * * val i = Integer.toString(1) * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class UnnecessaryTemporaryInstantiation(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/EqualsNullCall.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/EqualsNullCall.kt index 2e7da51b6..18a84b908 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/EqualsNullCall.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/EqualsNullCall.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtCallExpression /** @@ -20,9 +21,8 @@ import org.jetbrains.kotlin.psi.KtCallExpression * * fun isNull(str: String) = str == null * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class EqualsNullCall(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenComment.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenComment.kt index bbe08baf4..0358359c9 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenComment.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenComment.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import org.jetbrains.kotlin.com.intellij.psi.PsiComment import org.jetbrains.kotlin.com.intellij.psi.PsiElement @@ -29,8 +30,8 @@ import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType * @configuration values - forbidden comment strings (default: `['TODO:', 'FIXME:', 'STOPSHIP:']`) * @configuration allowedPatterns - ignores comments which match the specified regular expression. * For example `Ticket|Task`. (default: `''`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ForbiddenComment(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenPublicDataClass.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenPublicDataClass.kt index cdb8fa9a7..29a42d5f7 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenPublicDataClass.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ForbiddenPublicDataClass.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import io.gitlab.arturbosch.detekt.api.simplePatternToRegex import org.jetbrains.kotlin.lexer.KtTokens @@ -31,8 +32,8 @@ import org.jetbrains.kotlin.psi.psiUtil.visibilityModifierTypeOrDefault * * @configuration ignorePackages - ignores classes in the specified packages. * (default: `['*.internal', '*.internal.*']`) - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class ForbiddenPublicDataClass(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/FunctionOnlyReturningConstant.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/FunctionOnlyReturningConstant.kt index 91ec8b94d..6c0c5f25b 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/FunctionOnlyReturningConstant.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/FunctionOnlyReturningConstant.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.SplitPattern +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import io.gitlab.arturbosch.detekt.rules.isActual import io.gitlab.arturbosch.detekt.rules.isOpen @@ -38,9 +39,8 @@ import org.jetbrains.kotlin.psi.psiUtil.containingClass * @configuration excludedFunctions - excluded functions (default: `'describeContents'`) * @configuration excludeAnnotatedFunction - allows to provide a list of annotations that disable this check * (default: `['dagger.Provides']`) - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class FunctionOnlyReturningConstant(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt index aa3f8443b..3f9edbaee 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryCodeMustSpecifyReturnType.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.psi.KtCallableDeclaration import org.jetbrains.kotlin.psi.KtNamedFunction @@ -39,9 +40,9 @@ import org.jetbrains.kotlin.resolve.checkers.ExplicitApiDeclarationChecker * } * * - * @active since v1.2.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.2.0") class LibraryCodeMustSpecifyReturnType(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryEntitiesShouldNotBePublic.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryEntitiesShouldNotBePublic.kt index 70515a7a1..1e7c555c5 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryEntitiesShouldNotBePublic.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LibraryEntitiesShouldNotBePublic.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtNamedFunction import org.jetbrains.kotlin.psi.KtTypeAlias @@ -24,9 +25,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isPublic * // code from a library * internal class A * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class LibraryEntitiesShouldNotBePublic(ruleSetConfig: Config = Config.empty) : Rule(ruleSetConfig) { override val issue: Issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LoopWithTooManyJumpStatements.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LoopWithTooManyJumpStatements.kt index f67673db3..371c1bcb8 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LoopWithTooManyJumpStatements.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/LoopWithTooManyJumpStatements.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtBreakExpression import org.jetbrains.kotlin.psi.KtContinueExpression import org.jetbrains.kotlin.psi.KtElement @@ -30,9 +31,8 @@ import org.jetbrains.kotlin.psi.KtLoopExpression * * * @configuration maxJumpCount - maximum allowed jumps in a loop (default: `1`) - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class LoopWithTooManyJumpStatements(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MagicNumber.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MagicNumber.kt index 72a93f569..6b65388a8 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MagicNumber.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MagicNumber.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import io.gitlab.arturbosch.detekt.rules.isConstant import io.gitlab.arturbosch.detekt.rules.isHashCodeFunction @@ -85,10 +86,9 @@ import java.util.Locale * @configuration ignoreRanges - whether magic numbers in ranges should be ignored (default: `false`) * @configuration ignoreExtensionFunctions - whether magic numbers as subject of an extension function should be ignored * (default: `true`) - * - * @active since v1.0.0 */ @Suppress("TooManyFunctions") +@ActiveByDefault(since = "1.0.0") class MagicNumber(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxLineLength.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxLineLength.kt index 2db76e0ed..b8b6ceb21 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxLineLength.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MaxLineLength.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.lastArgumentMatchesUrl /** @@ -19,9 +20,8 @@ import io.gitlab.arturbosch.detekt.rules.lastArgumentMatchesUrl * @configuration excludePackageStatements - if package statements should be ignored (default: `true`) * @configuration excludeImportStatements - if import statements should be ignored (default: `true`) * @configuration excludeCommentStatements - if comment statements should be ignored (default: `false`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class MaxLineLength(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MayBeConst.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MayBeConst.kt index 29b16001c..d4a87c53e 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MayBeConst.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/MayBeConst.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isConstant import io.gitlab.arturbosch.detekt.rules.isOverride import org.jetbrains.kotlin.KtNodeTypes @@ -33,9 +34,8 @@ import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject * * const val MY_CONSTANT = "abc" * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class MayBeConst(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ModifierOrder.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ModifierOrder.kt index 65662ad85..4c5ac8b38 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ModifierOrder.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ModifierOrder.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.com.intellij.psi.PsiWhiteSpace import org.jetbrains.kotlin.lexer.KtTokens.ABSTRACT_KEYWORD import org.jetbrains.kotlin.lexer.KtTokens.ACTUAL_KEYWORD @@ -48,9 +49,8 @@ import org.jetbrains.kotlin.psi.psiUtil.allChildren * * private internal lateinit val str: String * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ModifierOrder(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NestedClassesVisibility.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NestedClassesVisibility.kt index 2bb13b5a0..369be0d45 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NestedClassesVisibility.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NestedClassesVisibility.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isInternal import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtClass @@ -34,9 +35,8 @@ import org.jetbrains.kotlin.psi.KtEnumEntry * internal class Nested2 * } * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class NestedClassesVisibility(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NewLineAtEndOfFile.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NewLineAtEndOfFile.kt index 92f4da0e1..3e1b8882a 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NewLineAtEndOfFile.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/NewLineAtEndOfFile.kt @@ -7,13 +7,13 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtFile /** * This rule reports files which do not end with a line separator. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class NewLineAtEndOfFile(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/OptionalAbstractKeyword.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/OptionalAbstractKeyword.kt index 498f23723..f65a32c97 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/OptionalAbstractKeyword.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/OptionalAbstractKeyword.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtDeclaration @@ -31,9 +32,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getChildrenOfType * var y: Int * } * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class OptionalAbstractKeyword(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ProtectedMemberInFinalClass.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ProtectedMemberInFinalClass.kt index 261667e91..f8adcf078 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ProtectedMemberInFinalClass.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ProtectedMemberInFinalClass.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isOpen import io.gitlab.arturbosch.detekt.rules.isOverride import org.jetbrains.kotlin.psi.KtClass @@ -30,9 +31,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isProtected * private var i = 0 * } * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class ProtectedMemberInFinalClass(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ReturnCount.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ReturnCount.kt index c54bcfeee..e6d9624bc 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ReturnCount.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ReturnCount.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity import io.gitlab.arturbosch.detekt.api.SplitPattern +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.parentsOfTypeUntil import io.gitlab.arturbosch.detekt.rules.yieldStatementsSkippingGuardClauses import org.jetbrains.kotlin.psi.KtCallExpression @@ -53,8 +54,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getParentOfType * (default: `true`) * @configuration excludeGuardClauses - if true guard clauses at the beginning of a method should be ignored * (default: `false`) - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ReturnCount(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SafeCast.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SafeCast.kt index 836ad09a5..f2fa9bd91 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SafeCast.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SafeCast.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.psi.KtConstantExpression import org.jetbrains.kotlin.psi.KtExpression @@ -30,9 +31,8 @@ import org.jetbrains.kotlin.psi.KtNameReferenceExpression * // ... * } * - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class SafeCast(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SerialVersionUIDInSerializableClass.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SerialVersionUIDInSerializableClass.kt index ebfbcc1c4..644c95d15 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SerialVersionUIDInSerializableClass.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/SerialVersionUIDInSerializableClass.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.companionObject import io.gitlab.arturbosch.detekt.rules.isConstant import org.jetbrains.kotlin.psi.KtClass @@ -37,9 +38,8 @@ import org.jetbrains.kotlin.psi.KtProperty * } * } * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class SerialVersionUIDInSerializableClass(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/StyleGuideProvider.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/StyleGuideProvider.kt index 323bbd97b..5f326f749 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/StyleGuideProvider.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/StyleGuideProvider.kt @@ -2,6 +2,7 @@ package io.gitlab.arturbosch.detekt.rules.style import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider import io.gitlab.arturbosch.detekt.rules.style.optional.MandatoryBracesIfStatements import io.gitlab.arturbosch.detekt.rules.style.optional.MandatoryBracesLoops @@ -12,9 +13,8 @@ import io.gitlab.arturbosch.detekt.rules.style.optional.PreferToOverPairSyntax * The Style ruleset provides rules that assert the style of the code. * This will help keep code in line with the given * code style guidelines. - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class StyleGuideProvider : DefaultRuleSetProvider { override val ruleSetId: String = "style" diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ThrowsCount.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ThrowsCount.kt index c21a520f7..92397171e 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ThrowsCount.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ThrowsCount.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isOverride import io.gitlab.arturbosch.detekt.rules.yieldStatementsSkippingGuardClauses import org.jetbrains.kotlin.psi.KtNamedFunction @@ -37,9 +38,8 @@ import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType * * * @configuration max - maximum amount of throw statements in a method (default: `2`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class ThrowsCount(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryAbstractClass.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryAbstractClass.kt index d05801b31..bc5405b06 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryAbstractClass.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryAbstractClass.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Finding import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import io.gitlab.arturbosch.detekt.rules.isAbstract import org.jetbrains.kotlin.com.intellij.psi.PsiElement @@ -44,9 +45,8 @@ import org.jetbrains.kotlin.resolve.BindingContext * * @configuration excludeAnnotatedClasses - Allows you to provide a list of annotations that disable * this check. (default: `['dagger.Module']`) - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class UnnecessaryAbstractClass(config: Config = Config.empty) : Rule(config) { private val noConcreteMember = "An abstract class without a concrete member can be refactored to an interface." diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt index b16d3491e..2769a9e02 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryApply.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import io.gitlab.arturbosch.detekt.rules.receiverIsUsed import io.gitlab.arturbosch.detekt.rules.safeAs @@ -36,10 +37,9 @@ import org.jetbrains.kotlin.resolve.BindingContext * environment = "test" * } * - * - * @active since v1.16.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.16.0") class UnnecessaryApply(config: Config) : Rule(config) { override val issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInheritance.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInheritance.kt index 721b904b4..0297cef57 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInheritance.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnnecessaryInheritance.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.psi.KtClassOrObject /** @@ -17,9 +18,8 @@ import org.jetbrains.kotlin.psi.KtClassOrObject * class A : Any() * class B : Object() * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class UnnecessaryInheritance(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateClass.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateClass.kt index b393917ef..2b310998b 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateClass.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateClass.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.safeAs import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtAnnotationEntry @@ -37,9 +38,8 @@ import org.jetbrains.kotlin.utils.addIfNotNull * Reports unused private classes. * If private classes are unused they should be removed. Otherwise this dead code * can lead to confusion and potential bugs. - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class UnusedPrivateClass(config: Config = Config.empty) : Rule(config) { override val defaultRuleIdAliases: Set = setOf("unused") diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateMember.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateMember.kt index ddb0f74cb..79ef06cbc 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateMember.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UnusedPrivateMember.kt @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.LazyRegex import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isAbstract import io.gitlab.arturbosch.detekt.rules.isExpect import io.gitlab.arturbosch.detekt.rules.isExternal @@ -50,8 +51,8 @@ import org.jetbrains.kotlin.util.OperatorNameConventions * * @configuration allowedNames - unused private member names matching this regex are ignored * (default: `'(_|ignored|expected|serialVersionUID)'`) - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class UnusedPrivateMember(config: Config = Config.empty) : Rule(config) { override val defaultRuleIdAliases: Set = setOf("UNUSED_VARIABLE", "UNUSED_PARAMETER", "unused") diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt index 453208bb8..cf968e1a5 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UselessCallOnNotNull.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtCallExpression @@ -42,10 +43,9 @@ import org.jetbrains.kotlin.types.isNullable * val testList3 = listOf("string") * val testString = ""?.isBlank() * - * - * @active since v1.2.0 */ @RequiresTypeResolution +@ActiveByDefault(since = "1.2.0") class UselessCallOnNotNull(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( "UselessCallOnNotNull", diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UtilityClassWithPublicConstructor.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UtilityClassWithPublicConstructor.kt index b1f6e1eae..a2b2b8a25 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UtilityClassWithPublicConstructor.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/UtilityClassWithPublicConstructor.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.rules.isOpen import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtClassInitializer @@ -55,9 +56,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isPublic * val i = 0 * } * - * - * @active since v1.2.0 */ +@ActiveByDefault(since = "1.2.0") class UtilityClassWithPublicConstructor(config: Config = Config.empty) : Rule(config) { override val issue: Issue = Issue( diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt index abf6e93ee..cc3d5791b 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/VarCouldBeVal.kt @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import org.jetbrains.kotlin.com.intellij.psi.PsiElement import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtBinaryExpression @@ -38,9 +39,8 @@ private val unaryAssignmentOperators = setOf(KtTokens.MINUSMINUS, KtTokens.PLUSP * val j = i + 1 * } * - * - * @active since v1.16.0 */ +@ActiveByDefault(since = "1.16.0") class VarCouldBeVal(config: Config = Config.empty) : Rule(config) { override val defaultRuleIdAliases: Set = setOf("CanBeVal") diff --git a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/WildcardImport.kt b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/WildcardImport.kt index 53046fa7f..54451b70a 100644 --- a/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/WildcardImport.kt +++ b/detekt-rules-style/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/WildcardImport.kt @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity import io.gitlab.arturbosch.detekt.api.Issue import io.gitlab.arturbosch.detekt.api.Rule import io.gitlab.arturbosch.detekt.api.Severity +import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault import io.gitlab.arturbosch.detekt.api.internal.valueOrDefaultCommaSeparated import org.jetbrains.kotlin.psi.KtImportDirective @@ -40,9 +41,8 @@ import org.jetbrains.kotlin.psi.KtImportDirective * * @configuration excludeImports - Define a list of package names that should be allowed to be imported * with wildcard imports. (default: `['java.util.*', 'kotlinx.android.synthetic.*']`) - * - * @active since v1.0.0 */ +@ActiveByDefault(since = "1.0.0") class WildcardImport(config: Config = Config.empty) : Rule(config) { override val issue = Issue( diff --git a/docs/pages/extensions.md b/docs/pages/extensions.md index ec0f645d8..aadbc4100 100644 --- a/docs/pages/extensions.md +++ b/docs/pages/extensions.md @@ -223,7 +223,7 @@ dependencies { ##### Pitfalls -- By default all rules not marked with `@active` in their `KDoc` are disabled. +- By default all rules not annotated with `@ActiveByDefault` are disabled. That means your custom rules are also disabled if you have not explicitly enabled them in the `detekt` yaml configuration file. - If your extension is part of your project and you integrate it like `detektPlugins project(":my-rules")` make sure that this