* migrate tests in detekt-report-html to junit
* migrate tests in detekt-report-txt to junit
* migrate tests in detekt-report-sarif to junit
* migrate tests in detekt-report-xml to junit
Co-authored-by: Markus Schwarz <post@markus-schwarz.net>
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
* Support relative output paths
* Enrich test spec description and add KDoc
* Update documentation
* Refactor FilePath
* Fix CI failures
* Fix detekt failures and restore defaults as absolute
* Renamed report base path back to base path
* Use max 4 workers, test discovery slows down parallel workers
* Use a spek snapshot to improve test discovery time
* Introduce an api test fixture for modules needing just an analysis result
* Use api test fixture in html module
* Use api test fixtures in report-xml module
* Use api test fixtures in metrics module
* Use api test fixtures in core module
* Use single-threaded classpath scanning
* Do not create a kotlin environment upfront
* Move mockk usage to execution phase
* Move KtCompiler creation to execution phase
* Move setup code to execution phase in api module
* Move setup code to execution phase in core module
* Move setup code to execution phase in rules-empty module
* Move xml report to own module
* Extract common complexity report logic to metrics module
This allows to share complexity report logic between the console report and a report-html module.
* Move whichXXX functions from DebugUtils to api module for now
More modules use the detekt version at runtime
and it is nice to have it in plugins as the IntelliJ or Sonar plugin. We should later move this helpers to the tooling-api.
* Extract html report to own module
* Merge all service files when packaging cli fatJar
* Write the detekt version to all jar manifest files
This allows to retrieve the detekt version from any jar at runtime.
* Extract txt report to own module