Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency io.gitlab.arturbosch.detekt:detekt-gradle-plugin to v1.21.0 #40

Merged
merged 1 commit into from
Oct 13, 2022

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 13, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
io.gitlab.arturbosch.detekt:detekt-gradle-plugin (source) 1.19.0 -> 1.21.0 age adoption passing confidence

⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


Release Notes

detekt/detekt

v1.21.0

We're delighted to announce the next upcoming stable release of Detekt: 1.21.0 🎉
This release is coming with 6 new rules, new API and functionalities and several stability improvements.

We want to thank you very much our Sponsors for the support in those last months. The work behind Detekt is all happening on a voluntary basis, and we're more than grateful for all the support we get from the Open Source Ecosystem.

We're also excited to announce that we're now having an Open Source Gradle Enterprise instance. When building the Detekt projects, you'll benefit from the Gradle Remote Cache that this instance is providing!

Finally, we want to take the opportunity to thank our contributors for testing, bug reporting and helping
us release this new version of Detekt. You're more than welcome to join our community on the #detekt channel on KotlinLang's Slack (you can get an invite here).

Notable Changes
  • We enabled ~30 new rules by default which we believe are now stable enough. - #​4875
  • We added 7 new Rules to Detekt
  • We added support for Markdown reports - #​4858
  • We now allow users and rule authors to specify a reason for every value in the config file - #​4611 - Please note that this feature requires a rule to be extended to support it. If you're a rule author you can start using it right away in your rule. We're looking into using this feature in some first party rule starting from Detekt 1.22.0.
  • We now report as warnings the Strings in the config file that can be converted to be an array - #​4793
  • We added a dependency on ConTester to help us verify concurrency scenarios for Detekt - #​4672
  • For contributors: we restructured our build setup to be use Gradle composite build - #​4751
Migration

We fixed a bug related to function with KDocs and how their location in the source code was calculated (see #​4961 and #​4887).

Because of this, some users might have to recreate their baseline as the location of such functions are not matched anymore against the baseline. You can do so by deleting your old baseline and invoking the detektBaseline task (or the corresponding task, based on your configuration).

Changelog
  • ReturnCount: Make configuration parameter more explicit - #​5062
  • Remove redundant null check - #​5061
  • Drop redundant Gradle workaround - #​5057
  • Update ktlint links from website to readme - #​5056
  • Improve extensions.doc format with admonitions - #​5055
  • Update docusaurus monorepo to v2.0.0-beta.22 - #​5050
  • Enable strict Kotlin DSL precompiled script plugins accessors generation - #​5048
  • MaxChainedCallsOnSameLine: don't count package references as chained calls - #​5036
  • Xml Report Merger now merges duplicate smells across input report files - #​5033
  • Add ending line and column to Location.kt - #​5032
  • Fix type resolution link in Contributing.md - #​5027
  • #​5014 Fix MaxChainedCallsOnSameLine false positives - #​5020
  • Add endColumn/endLine to SARIF region - #​5011
  • Removed UnnecessaryAbstractClass if it inherits from a abstract class - #​5009
  • Only recommend using index accessors for Java classes that are known collections - #​4994
  • UnusedImports: fix false positive for unresolved imports - #​4882
  • Fix Signatures.kt:buildFunctionSignature - #​4961
  • Loading a specific resource from a module must use class from module - #​5008
  • Update github/codeql-action digest to 3f62b75 - #​5007
  • Show finding at declaration name instead of the whole declaration - #​5003
  • NamedArguments: don't count trailing lambda argument - #​5002
  • Address TextLocation for Wrapping - #​4998
  • Support markdown report in Gradle plugin - #​4995
  • Fix false-negative for CanBeNonNullable - #​4993
  • Give a better error message for --jvm-target - #​4978
  • Fix rule code samples to be valid Kotlin code - #​4969
  • Use plain ASCII output in standard reports - #​4968
  • UnnecessaryApply: fix false negative for assignment - #​4948
  • Support disabling config validation via tooling spec - #​4937
  • UnusedPrivateMember: highlight declaration name - #​4928
  • Provide a priority field for DetektProvider - #​4923
  • CastToNullableType: allow casting null keyword - #​4907
  • Update plugin com.gradle.common-custom-user-data-gradle-plugin to v1.7.2 - #​4897
  • Set strict dependency on tested Kotlin compiler version - #​4822
  • Simplify regular expressions - #​4893
  • Remove redundant character escape in RegExp - #​4892
  • Reformat Markdown files to comply with the spec - #​4891
  • UnnecessaryInnerClass: fix false negative with this references - #​4884
  • UselessCallOnNotNull: fix false positive for unresolved types - #​4880
  • Update MagicNumber rule to exclude .kts files - #​4877
  • CanBeNonNullable: fix false positives for parameterized types - #​4870
  • UnnecessaryInnerClass: fix false positives labeled expression to outer class - #​4865
  • UnnecessaryInnerClass: add test for safe qualified expressions - #​4864
  • Fix a confusing Regex in the Compose webpage - #​4852
  • Fix edit URLs for the website - #​4850
  • detektGenerateConfig adds the configuration of plugins - #​4844
  • Update dependency prism-react-renderer to v1.3.3 - #​4833
  • Search in all versions.properties, not just the first one #​4830 - #​4831
  • Improve exception message - #​4823
  • Fix ValShouldBeVar false positive inside unknown type - #​4820
  • Add a recent conference talk link - #​4819
  • False positive for unused imports #​4815 - #​4818
  • Revert "Display dynamic --jvm-target values when using --help flag (#​4694)" - #​4816
  • UnnecessaryAbstractClass: report only the class name - #​4808
  • Fix wrong replacement suggestion for UnnecessaryFilter - #​4807
  • UseOrEmpty: fix false positive for indexing operator calls with type parameters - #​4804
  • ExplicitCollectionElementAccessMethod: fix false positive for get operators with type parameters - #​4803
  • Add tests for #​4786 - #​4801
  • Add documentation link for rules in html report - #​4799
  • Improve rule documentaion and smell message of NamedArguments - #​4796
  • Improve issue description and smell message of DestructuringDeclarationWithTooManyEntries - #​4795
  • NestedScopeFunctions - Add rule for nested scope functions - #​4788
  • Partially drop redundant usage of "dry run" in Gradle plugin tests - #​4776
  • Allow additionalJavaSourceRootPaths to be defined on @​KotlinCoreEnvironmentTest - #​4771
  • Report KDoc comments that refer to non-public properties of a class - #​4768
  • Self-inspect the detekt-gradle-plugin - #​4765
  • Pass args to DetektInvoker as List<String> - #​4762
  • Cleanup Gradle Plugin Publications - #​4752
  • Break a dependency between detekt-gradle-plugin and detekt-utils - #​4748
  • Remove suspend lambda rule with CoroutineScope receiver due to not de… - #​4747
  • VarCouldBeVal: Add configuration flag ignoreLateinitVar - #​4745
  • UnnecessaryInnerClass: fix false positive with references to function type variables - #​4738
  • Fix false positive on VarCouldBeVal in generic classes - #​4733
  • OutdatedDocumentation: fix false positive with no primary constructor - #​4728
  • Android Gradle: add javac intermediates to classpath - #​4723
  • OptionalWhenBraces: fix false negative when the single statement has comments inside - #​4722
  • Document pre-commit hook for staged files - #​4711
  • Enable rules by default for 1.21 - #​4643
Dependency Updates
  • Update dependency gradle to v7.5 - #​5074
  • Update plugin binaryCompatibilityValidator to v0.11.0 - #​5069
  • Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.3 - #​4976
  • Update dependency org.jetbrains.dokka to v1.7.0 - #​4974
  • Update plugin binaryCompatibilityValidator to v0.10.1 - #​4954
  • Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.2 - #​4868
  • Update dependency com.android.tools.build:gradle to v7.2.1 - #​4861
  • Update plugin binaryCompatibilityValidator to v0.10.0 - #​4837
  • Update dependency io.mockk:mockk to v1.12.4 - #​4829
  • Update dependency com.android.tools.build:gradle to v7.2.0 - #​4824
  • Add dependency-analysis plugin and implement some recommendations - #​4798
  • Add dependency on slf4j-nop to silence warning - #​4775
  • Update plugin dokka to v1.6.21 - #​4770
  • Update org.jetbrains.kotlin to v1.6.21 - #​4737
  • Update dependency com.github.breadmoirai:github-release to v2.3.7 - #​4734
  • Update plugin binaryCompatibilityValidator to v0.9.0 - #​4729
Housekeeping & Refactorings
  • Fix ComplexMethod debt and refactor code - #​5029
  • Fix ReturnCount debt and refactor code - #​5026
  • Add test for ForbiddenMethodCall with getters - #​5018
  • Measure flakyness on Windows CI - #​4742
  • Declare nested test classes as non-static - #​4894
  • Remove deprecated usages in gradle-plugin test - #​4889
  • Remove reference to contributor list - #​4871
  • Add missing image - #​4834
  • Upgrade to GE enterprise 3.10 - #​4802
  • Fix broken snapshot publishing - #​4783
  • Remove pending Gradle version milestones from comments - #​4777
  • Add more tests for Annotation Suppressor - #​4774
  • fix: add test case that fails if environment is not properly set up - #​4769
  • Disable UnusedImports for the Detekt project - #​4741
  • Remove Unnecesary @​Nested - #​4740
  • Update the argsfile to unblock runWithArgsFile failing locally - #​4718

See all issues at: 1.21.0

v1.20.0

We're extremely excited to share with you all the next upcoming stable release of Detekt: 1.20.0 🎉
This release is coming with 16 new rules, new API and functionalities and several stability improvements.

First, much thanks to our sponsors ❤️ as we were able to buy a domain and move our website to https://detekt.dev/.

As for the feature shipped, we work a lot on the Reporting side: we added a new type of reporting, improved the styling of the existing one and
generally reduced the unnecessary warnings of run with type resolution.

For rules like ForbiddenMethod where you can configure a signature of a method you want to use in your rule, we added a new syntax
that allows to reference generic methods & extension functions.

We update a lot of the libraries we depend on bringing Detekt up to the ecosystem: KtLint 0.45.2, Kotlin 1.6.20 and Gradle 7.4.2 to name a few.

Finally, we also migrated all of our tests from Spek to JUnit. This was a huge effort that will hopefully make easier for contributors
to be involved with Detekt.

As always, we want to take the opportunity to thank our contributors for testing, bug reporting and helping
us release this new version of Detekt. You're more than welcome to join our community on the #detekt channel on KotlinLang's Slack (you can get an invite here).

Notable Changes
  • With this Detekt versions, rule authors can define the default configuration for their custom rules. This default configuration will be merged together with the user configuration and can be overridden by the user if they wish. More on this here #​4315. The formatting ruleset provided by Detekt is updated to use this new mechanism - #​4352
  • We've added 16 new rules:
    • UnnecessaryInnerClass - #​4394
    • CanBeNonNullableProperty - #​4379
    • NullCheckOnMutableProperty - #​4353
    • SuspendFunWithCoroutineScopeReceiver - #​4616
    • ElseCaseInsteadOfExhaustiveWhen - #​4632
    • TrailingComma - From KtLint - #​4227
    • UnnecessaryParenthesesBeforeTrailingLambda - From KtLint - #​4630
    • BlockCommentInitialStarAlignment - From KtLint - #​4645
    • CommentWrapping - From KtLint - #​4645
    • DiscouragedCommentLocation - From KtLint - #​4645
    • FunKeywordSpacing - From KtLint - #​4645
    • FunctionTypeReferenceSpacing - From KtLint - #​4645
    • KdocWrapping - From KtLint - #​4645
    • ModifierListSpacing - From KtLint - #​4645
    • TypeArgumentListSpacing - From KtLint - #​4645
    • Wrapping - From KtLint - #​4645
  • We've made several improvements to the console reporting:
    • The HTML report has now a better CSS styling - #​4447
    • The default reporting format is now LiteFindingsReport (which is more compact reporting and similar to other tools in the ecosystem. You can see an example here) - #​4449.
    • We've added issue details to findings on FindingsReport and FileBasedFindingsReporter - #​4464
    • We suppressed several warnings reported when running with type resolution - #​4423
  • We fixed a regression introduced in 1.19.0 for users using ignoreAnnotated running without type resolution - #​4570
  • For rules like ForbiddenMethod where you can specify a method name in the config file, now we added support for:
    • Matching functions with generics - #​4460
    • Matching extension functions - #​4459
  • We've fixed a security vulnerability related to XML parsing - #​4499
  • We've changed the behavior of the baseline task. Now the baseline is always update, even if you fixed all the issues in your codebase - #​4445
  • We now enable the naming ruleset by default also on tests. Previously they were excluded - #​4438
  • This version of Detekt is built with Gradle v7.4.2, AGP 7.1.3 and Kotlin 1.6.20 (see #​4530 #​4573 #​4133 #​4277 #​4665)
  • This version of Detekt is wrapping KtLint version 0.45.2 (see #​4227 #​4630 #​4645 #​4690)
  • For contributors: we migrated all our tests from Spek to JUnit due to better support and tooling #​4670.
Changelog
  • Display dynamic --jvm-target values when using --help flag - #​4694
  • CanBeNonNullable shouldn't consider abstract properties - #​4686
  • NonBooleanPropertyPrefixedWithIs: Allow boolean function reference - #​4684
  • [VarCouldBeVal] fix overrides false positives - #​4664
  • Add ignoreOverridden support for BooleanPropertyNaming rule - #​4654
  • Fix regression generating configuration - #​4646
  • Fix concurrency issue when creating PomModel (#​4609) - #​4631
  • UnnecessaryAbstractClass: fix false positive when the abstract class has properties in the primary constructor - #​4628
  • Properly set toolVersion on DetektExtension - #​4623
  • NamedArguments: Ignore when argument values are the same as the parameter name - #​4613
  • Parallel invocation of AnalysisFacade fails spuriously in 1.20.0-RC1 - #​4609
  • NoSuchElementException after updating to 1.20.0-RC1 - #​4604
  • Better error classification in Gradle Enterprise. - #​4586
  • Fix for missing /kotlin folder when running on Android projects - #​4554
  • Deprecate continuationIndentSize from the Indentation rule - #​4551
  • Fix performance issue for regexp in Reporting.kt - #​4550
  • Revert "trim values when parsing the baseline (#​4335)" - #​4548
  • Fix AutoCorrection crashing with Missing extension point - #​4545
  • Make DoubleMutabilityForCollection configurable and set a DoubleMutability alias - #​4541
  • Fix AnnotationExcluder - #​4518
  • Fix false positive of UnnecessaryInnerClass - #​4509
  • [MaxLineLength] Fix signature in for blank characters in the Baseline - #​4504
  • Fix overridden function reporting for CanBeNonNullable rule - #​4497
  • Set the name of functions and paramenters between ` to improve the readability - #​4488
  • update InvalidPackageDeclaration to report if rootPackage is not present - #​4484
  • [VarCouldBeVal] Override vars will not be flagged if bindingContext is not set - #​4477
  • Document the overlapping rules from formatting - #​4473
  • Match functions signatures with lambdas on it - #​4458
  • Add option for OutdatedDocumentation to allow param in constructor pr… - #​4453
  • Ignore private operators when we don't have ContextBingding in UnusedPrivateMember - #​4441
  • Add documentation for Suppressors - #​4440
  • [FunctionNaming] Don't allow the usage of ` in function names - #​4439
  • Add list of functions to skip in IgnoredReturnValue rule - #​4434
  • Extend CanBeNonNullable rule to check function params - #​4431
  • Extend VarCouldBeVal to include analysis of file- and class-level properties - #​4424
  • Formulate rule/sample-extensions descriptions consistently - #​4412
  • Fix false-positive on ExplicitCollectionElementAccessMethod - #​4400
  • Fixes false negatives in UnnecessaryAbstractClass - #​4399
  • Add first draft of a rule description style guide - #​4386
  • Forbid usage of java.lang.ClassLoader.getResourceAsStream - #​4381
  • Update Sponsor button to Detekt's one - #​4378
  • [OptionalUnit] Allow a function to declare a Unit return type when it uses a generic function initializer - #​4371
  • Completely-empty abstract classes will now be flagged by UnnecessaryAbstractClass - #​4370
  • Fix false positive in RethrowCaughtException for try with more than one catch (#​4367) - #​4369
  • Testing and rule improvement for EmptyElseBlock - #​4349
  • UnusedPrivateMember should not report external classes/interfaces - #​4347
  • [UseDataClass] Do not report on inner classes - #​4344
  • Support jvmTarget 17 - #​4287
  • UnderscoresInNumericLiterals: Allow numbers with non standard groupings - #​4280
  • Introduce DefaultValue type - #​3928
Dependency Updates
  • Update plugin dokka to v1.6.20 - #​4717
  • Update dependency com.android.tools.build:gradle to v7.1.3 - #​4695
  • JaCoCo 0.8.8 - #​4680
  • Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.1 - #​4673
  • Update dependency gradle to v7.4.2 - #​4658
  • Update dependency org.jetbrains.kotlinx:kotlinx-html-jvm to v0.7.5 - #​4657
  • Update dependency gradle to v7.4.1 - #​4622
  • Update dependency com.android.tools.build:gradle to v7.1.2 - #​4594
  • Update dependency com.android.tools.build:gradle to v7.1.1 - #​4561
  • Update plugin pluginPublishing to v0.20.0 - #​4502
  • Update JamesIves/github-pages-deploy-action action to v4.2.1 - #​4475
  • Update JamesIves/github-pages-deploy-action action to v4.1.9 - #​4455
  • Update plugin gradleVersions to v0.41.0 - #​4454
  • Revert "Update plugin pluginPublishing to v0.19.0 (#​4429)" - #​4452
  • Update plugin pluginPublishing to v0.19.0 - #​4429
  • Update dependency io.mockk:mockk to v1.12.2 - #​4427
  • Shadow 7.1.2 - #​4422
  • Update plugin dokka to v1.6.10 - autoclosed - #​4407
  • Update dependency org.jetbrains.dokka:jekyll-plugin to v1.6.10 - #​4406
  • Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.0 - #​4393
  • Update dependency gradle to v7.3.3 - #​4392
  • Update dependency org.yaml:snakeyaml to v1.30 - #​4375
  • Update dependency gradle to v7.3.2 - #​4374
  • Update plugin shadow to v7.1.1 - #​4373
  • Update dependency gradle to v7.3.1 - #​4350
  • Update plugin dokka to v1.6.0 - #​4328
Housekeeping & Refactorings
  • Add missing Test annotations - #​4699
  • Add failure message assertions to Gradle's "expect failure" tests - #​4693
  • Drop (most) Groovy DSL tests - #​4687
  • Check detekt-gradle-plugin functionalTest source when running detekt task - #​4681
  • Fix typo in AvoidReferentialEquality rule description - #​4644
  • Housekeep Gradle scripts - #​4589
  • Refactor config printer to improve testability - #​4580
  • avoid usage of java stream for parameterized tests - #​4579
  • split rule documentation printer to improve testability - #​4578
  • Make VERSION_CATALOGS stable - #​4577
  • Enable Gradle's configuration cache by default - #​4576
  • Migrate detekt-rules-performance tests to JUnit - #​4569
  • Migrate detekt-rules-complexity tests to JUnit - #​4566
  • Drop Groovy DSL testing in DetektTaskDslSpec - #​4563
  • Reuse setReportOutputConventions - #​4546
  • Code cleanups - #​4542
  • Fix MaxLineLength violation on detekt main inside IgnoredReturnValue rule - #​4539
  • Use Java 17 for all CI jobs - #​4526
  • Migrate tests in detekt-rules-errorprone to junit - #​4523
  • Drop unused dependencies - #​4506
  • Update JUnit dependencies - #​4505
  • Fixes test for LiteFindingsReport - #​4479
  • Remove outdated detekt suppression - #​4468
  • Add test cases to RedundantSuspendModifier rule - #​4430
  • Refactor MultilineLambdaItParameter rule - #​4428
  • Formulate rule/naming descriptions consistently - #​4419
  • Formulate rule/bugs descriptions consistently - #​4418
  • Formulate rule/complexity descriptions consistently - #​4417
  • Formulate rule/documentation descriptions consistently - #​4416
  • Formulate rule/coroutines descriptions consistently - #​4415
  • Formulate rule/style descriptions consistently - #​4414
  • Formulate rule/exceptions descriptions consistently - #​4413
  • Formulate rule/performance descriptions consistently - #​4411
  • Make MultiRuleCollector.kt consistent with the DoubleMutabilityForCollection rule - #​4405
  • Add test for nested SwallowedException - #​4404
  • Disable CI for Windows & JDK8 - #​4403
  • Improve test description in ForEachOnRangeSpec.kt - #​4402
  • Don't define classes on default package - #​4401
  • Config file in directory test - #​4398
  • Remove unnecessary map lambda in test code - #​4397
  • Improve AnnotationExcluder tests - #​4368
  • Enable UseAnyOrNoneInsteadOfFind - #​4362
  • Enable ForbiddenMethodCall - #​4334

See all issues at: 1.20.0


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot requested a review from wmontwe as a code owner October 13, 2022 18:42
@renovate renovate bot added the dependencies Pull requests that update a dependency file label Oct 13, 2022
@github-actions github-actions bot removed the dependencies Pull requests that update a dependency file label Oct 13, 2022
@github-actions
Copy link

Warnings
⚠️ Changes should be reflected in the CHANGELOG.adoc
⚠️ Set a milestone please

Generated by 🚫 Danger Kotlin against 5640eda

1 similar comment
@github-actions
Copy link

Warnings
⚠️ Changes should be reflected in the CHANGELOG.adoc
⚠️ Set a milestone please

Generated by 🚫 Danger Kotlin against 5640eda

Copy link
Member

@wmontwe wmontwe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@wmontwe wmontwe merged commit 40f30fc into main Oct 13, 2022
@wmontwe wmontwe deleted the renovate/detekt branch October 13, 2022 20:25
@wmontwe wmontwe added this to the 2.0.0 milestone Oct 13, 2022
@wmontwe wmontwe added the dependencies Pull requests that update a dependency file label Oct 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant