* Move integrations down
* Remove old integration
* Move more integrations down
* More improvements
* Improve the detekt features
* Update link
* Improve website/docs/intro.mdx
* Add links to kotlin homepage
* Update README.md
Co-authored-by: schalkms <30376729+schalkms@users.noreply.github.com>
* Add complexity reports back
Co-authored-by: schalkms <30376729+schalkms@users.noreply.github.com>
This updates the list of links and references in the *mentions* section.
Links and references got removed if they fulfill one the following criteria.
* The URL is not reachable anymore.
* The reference is heavily outdated. For instance:
* The tutorial or repo is very old (e.g. based on detekt < 1.0).
* Repo is not maintained anymore
* The reference doesn't add more context to information given in the readme or linked sources.
* Introduce OutdatedDocumentation rule
Basic implementation covers:
- class primary constructor parameters
- class primary constructor property parameters
- function parameters
* OutdatedDocumentation rule - type parameters matching
* OutdatedDocumentation rule - refactor and add more tests
* OutdatedDocumentation rule - report for secondary constructors
* OutdatedDocumentation rule - do not report when KDoc does not contain any @param or @property tag
* OutdatedDocumentation rule - add description
* OutdatedDocumentation rule - add configuration for type parameters and declarations order
* OutdatedDocumentation rule - refactor
* OutdatedDocumentation rule - fix CI
* OutdatedDocumentation rule - additional test cases
* OutdatedDocumentation rule - fix rule reporting for incorrect declarations order
This will help reduce build times when changes are made to the precompiled
script plugins used in the build. This is because a change in buildSrc
causes the whole project to become out-of-date [0]. Using an included build
instead works around this problem.
[0] https://docs.gradle.org/7.2/userguide/organizing_gradle_projects.html#sec:build_sources
* Fix TextLocation of Indentation rule
Although Indentation applies to the whole file, it's a local rule.
Start of the real location reported by ktlint's offset. And I assume
that the end location should be on first non-whitespace character.
* Add contributor
* Add test for location of Indentation findings
Previous caching mechanism didn't work properly when multiple projects
were running detekt task in parallel and differed in classpath. Due to
the broken locking mechanism the classpath files would not match the
content in the classloader.
The new implementation uses ConcurrentHashMap which handles locking by
itself and allows us to store classloader for any combination of files.
* Remove inactive Dependabot badge
https://github.com/dependabot/dependabot-core/issues/1912
* Remove misconfigured CodeFactor badge
Currently only gh-pages branch is being checked by CodeFactor
* Make FOSSA badge report on correct project
It was rendering the badge for detekt's IntelliJ plugin, not the primary
detekt project.
* Show pre-merge CI run status for main branch only
* SarifOutputReportSpec: Correctly detect Windows root directory on local development machine
* Update detekt-report-sarif/src/test/kotlin/io/github/detekt/report/sarif/SarifOutputReportSpec.kt
Co-authored-by: Chao Zhang <zhangchao6865@gmail.com>
* Use idiomatic repository declarations
* Prefer Maven Central to JCenter
* Limit JCenter to kotlinx-html-jvm module only
* Remove unnecessary repository declarations
* Agree to build scan T&Cs in settings where the plugin is applied
* Refactor
* Fix some issues in the build config examples
* Apply binary-compatibility-validator plugin only in subprojects that need it
* Don't configure Java source/target compatibility
There's no Java source code in the repository
* Don't unnecessarily declare plugins in root project build
* Add new ObjectExtendsThrowable rule
* Restructure visitObjectDeclaration() override
* Split first test into 3 tests
* Provide a shorter code smell message