It appears that the contributor list in the readme has been replaced by an autogenerated image of the contributors; the contribution guide should no longer suggest contributors add their name there.
* Setup JUnit 5
* Migrate custom-checks tests to JUnit
* Set the default JUnit 5 test instance lifecycle mode to "per_class"
* Use extension instead of base class to inject KotlinCoreEnvironment
Co-authored-by: marschwar <marschwar@users.noreply.github.com>
* Update contributor guidelines to reflect usage of JUnit 5
* Fix style issues
* Update detekt-test-utils API definition
* Update .github/CONTRIBUTING.md
Co-authored-by: marschwar <marschwar@users.noreply.github.com>
Co-authored-by: Chao Zhang <zhangchao6865@gmail.com>
* Add first draft of a rule description style guide
* Fix a typo in the style guide draft
Co-authored-by: Brais Gabín <braisgabin@gmail.com>
* Update style guide to cover the three types of descriptions
* Discourage file names in code smell messages
Co-authored-by: Brais Gabín <braisgabin@gmail.com>
* Fix two minor mistakes in the style guide
* Explain the example on usage-aware recommendations
* Reference the guide on authoing rule descriptions
* Write detekt in lowercase
* Add an empty line after every heading
Co-authored-by: M Schalk <30376729+schalkms@users.noreply.github.com>
* Clean up the contribution guide
* Incorporate latest review comments into the style guide
* Fix a typo in the style guide
* Use consistent line breaks in the style guide
* Merge the style guide into the contribution guide
* Delete the standalone style guide
* Remove redundant space
Co-authored-by: Brais Gabín <braisgabin@gmail.com>
Co-authored-by: M Schalk <30376729+schalkms@users.noreply.github.com>
* Create initial idea for @Configuration annotation
* Use config parameter constants again
* Generate documentation from @Configuration
* Introduce config delegate and extract default value from it
* Exclude rules configured with annotation from checks
* Remove support for factory methods in RuleSetProviderCollector
* Add support for lists that are empty by default
* Update documentation for rule contribution
* Restrict config delegate to supported types
* Update .github/CONTRIBUTING.md
Co-authored-by: Brais Gabín <braisgabin@gmail.com>
Co-authored-by: Markus Schwarz <post@markus-schwarz.net>
Co-authored-by: Chao Zhang <zhangchao6865@gmail.com>
* 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 <post@markus-schwarz.net>
Co-authored-by: Chao Zhang <zhangchao6865@gmail.com>
* General housekeeping
- Refactor more config keys as key companion object
- Convert some KDocs from using # into using []
- Remove self-recursive function in Context
- Fix correct dokka task name in CONTRIBUTING.md
* Revert change on Context.report
* Remove MAX_ISSUES_KEY back to IssueExtension
* Update detekt-core/src/main/kotlin/io/gitlab/arturbosch/detekt/core/config/IssueExtension.kt
Co-authored-by: Brais Gabín <braisgabin@gmail.com>
Co-authored-by: Brais Gabín <braisgabin@gmail.com>
* Update release notes script to include notable changes, migration and changelog sub sections
* Update release process
* Prepare 1.8.0 release
* Fix uploading all release assets
* Update docs and self analysis detekt version
* Fix spelling
* Emit helpful errors in Gradle plugin
Whenever the plugin is applied to a project that doesn't have
jcenter() configured, the user would get a cryptic error message
from Gradle (see issue #2549). This simple change makes sure the
plugin will provide users with clear instructions on how to fix
their build so they don't get stumped when things don't work.
* Update contributions in README
* Fix ktlint name in docs: it's all lowercase
Also update repo URL to /pinterest/ktlint through out docs
* Update Gradle getting started in index.md
* Fix ktlint name in code too
* Address detekt warnings after plugin changes
* Only check for jCenter in afterEvaluate { }
This is necessary because we need to make sure it's there _somehow_,
and it may be added by other plugins, or blocks evaluated after this
plugin is applied.
* Apply suggestions from code review
Co-Authored-By: M Schalk <30376729+schalkms@users.noreply.github.com>
Co-authored-by: M Schalk <30376729+schalkms@users.noreply.github.com>
* Convert the gradle plugin to a sub project
This leads to:
- faster build file evaluate, no need to wait for the composite build file evaluation
- cleaner build files, less duplications
- more up-to-date tasks
- faster builds, clean build is ~30 seconds faster
* Setup for easy local gradle plugin changes
Since this repository uses squash and merge as the only option to
merge PRs, the git commit message check is not necessary any more.
If the commit message in a PR is not descriptive enough, it can
be changed when using the squash and merge functionality on Github.
* Allow to run specific rules on only specified paths by using a config property
* Rename to includes and excludes properties
* Test exclusion and inclusion patterns for rules
* Reformat KtCompiler
* Support just globbing patterns as regex patterns are not handled os independently
* Fix * removal for globing pattern by providing an additional flag for SplitPattern
* Add one more test case to prove inclusions are evaluated after exclusions
* Format default values as Markdown code spans
These are delimited with a backtick (`), and are also ignored by
dokka which is handy as otherwise [A-Za-z0-9] is treated as a link to
other documentation even though it's not a valid link. Formatting as a code
span means dokka will not throw a warning in this case.
* Don't link to documentation in KDoc that doesn't exist
KtFile, PsiElement and KtElement don't have any documentation published
online, so it does not make sense to link to those classes from KDoc.
* Remove unused import