Skip to content

Print cli arguments with debug = true#9126

Merged
BraisGabin merged 4 commits into
mainfrom
print-cli-arguments
Mar 9, 2026
Merged

Print cli arguments with debug = true#9126
BraisGabin merged 4 commits into
mainfrom
print-cli-arguments

Conversation

@BraisGabin
Copy link
Copy Markdown
Member

@BraisGabin BraisGabin commented Mar 7, 2026

We have some issues opened about how to use detekt in full mode with the cli. That question is really difficult to answer because there are a lot of things to take into account.

This change gives a bit of light to that, it shows how the gradle plugin configures the cli to make it works in full mode. An example of the output:

java -jar detekt-cli-2.0.0-alpha.2-all.jar --plugins /Users/brais.gabin/Workspace/detekt/detekt-rules-ktlint-wrapper/build/libs/detekt-rules-ktlint-wrapper-2.0.0-alpha.2.jar,/Users/brais.gabin/Workspace/detekt/detekt-rules-libraries/build/libs/detekt-rules-libraries-2.0.0-alpha.2.jar,/Users/brais.gabin/Workspace/detekt/detekt-rules-ruleauthors/build/libs/detekt-rules-ruleauthors-2.0.0-alpha.2.jar,/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/2.3.10/8b80e2f80a3b7daa99c16017f91d4c72cd8b31a6/kotlin-stdlib-2.3.10.jar,/Users/brais.gabin/Workspace/detekt/detekt-rules-ktlint-wrapper/ktlint-repackage/build/libs/ktlint-repackage-2.0.0-alpha.2-all.jar,/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/2.0.17/d9e58ac9c7779ba3bf8142aff6c830617a7fe60f/slf4j-api-2.0.17.jar,/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar --input /Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/PropertiesFacade.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/EnvironmentAware.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/ClassloaderAware.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/LoggingAware.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/OutputFacade.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/Reporting.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/Colorizer.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/FileBasedIssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/ComplexityReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/LiteIssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/IssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/ProjectStatisticsReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/NotificationReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/AbstractIssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/FileProcessorLocator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/Lifecycle.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/DefaultDetektProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/DefaultVersionProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/AnalysisFacade.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/DefaultConfigProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/ProcessingSpecSettingsBridge.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/Junk.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/util/ConfigExtensions.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/util/PerformanceMonitor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/YamlConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/BaseConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/FailurePolicies.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/AllRulesConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/DisabledAutoCorrectConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/ValidatableConfiguration.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/DeprecatedPropertiesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/Deprecations.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/ConfigValidation.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/MissingRulesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/InvalidPropertiesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/ValidationSettings.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/AbstractYamlConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/DefaultPropertiesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/CompositeConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/DefaultBaseline.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/BaselineHandler.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/IndentingXMLStreamWriter.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/BaselineResultMapping.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/XmlExtensions.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/BaselineFormat.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/parser/KotlinEnvironmentUtils.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/parser/DetektMessageCollector.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/RuleDescriptor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/extensions/Reporting.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/extensions/Loading.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/KtFileModifier.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/rules/RuleSets.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/rules/SingleRuleProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/Suppressor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/FunctionSuppressor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/Suppressions.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/AnnotationSuppressor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/TaskPool.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/Analyzer.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/ProcessingSettings.kt --classpath /Users/brais.gabin/Workspace/detekt/detekt-core/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-tooling/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-metrics/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-api/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-parser/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-psi-utils/build/classes/kotlin/main:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler/2.3.10/35d5ec4e972afbd0aa037fc3bda68ac49ceab883/kotlin-compiler-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/2.3.10/98e0fa43a9204a252fa8806c9b2f3f3131590bcb/kotlin-reflect-2.3.10.jar:/Users/brais.gabin/Workspace/detekt/detekt-utils/build/classes/kotlin/main:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/2.3.10/626e0d6a554c61b239816b108314301950a20de4/kotlin-stdlib-jdk8-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.8.0/ac1dc37a30a93150b704022f8d895ee1bd3a36b3/kotlinx-coroutines-core-jvm-1.8.0.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/2.3.10/eb57a55dda1c04e2b68de7d50619dd7526150442/kotlin-stdlib-jdk7-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/2.3.10/8b80e2f80a3b7daa99c16017f91d4c72cd8b31a6/kotlin-stdlib-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.snakeyaml/snakeyaml-engine/2.10/20f311f742d6894de0750b92414b3c27a40bb9d5/snakeyaml-engine-2.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-script-runtime/2.3.10/1964f711f069f184f7848971fdcbdd15f26ef79/kotlin-script-runtime-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/23.0.0/8cc20c07506ec18e0834947b84a864bfc094484e/annotations-23.0.0.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/analysis-api-standalone-for-ide/2.3.10/73d2c3f85f2f431ed273da06d277bfe4db9d198e/analysis-api-standalone-for-ide-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/analysis-api-for-ide/2.3.10/93d673279f7f9b38d01485a2106299ed39269d24/analysis-api-for-ide-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/analysis-api-k2-for-ide/2.3.10/ac30b2662526c3f7bf0531b4ebc386ca763c5109/analysis-api-k2-for-ide-2.3.10.jar --analysis-mode full --jvm-target 1.8 --jdk-home /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home --config /Users/brais.gabin/Workspace/detekt/config/detekt/detekt.yml --baseline /Users/brais.gabin/Workspace/detekt/config/detekt/baseline.xml --report checkstyle:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.xml --report html:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.html --report sarif:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.sarif --report markdown:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.md --debug --build-upon-default-config --fail-on-severity error --base-path /Users/brais.gabin/Workspace/detekt -Xcontext-parameters -Xfriend-paths /Users/brais.gabin/Workspace/detekt/detekt-core/build/classes/java/main,/Users/brais.gabin/Workspace/detekt/detekt-core/build/classes/kotlin/main -no-stdlib -no-reflect

This also will help us to test the cli directly. In my case I need it to help me run a profiler.

@detekt-ci
Copy link
Copy Markdown
Collaborator

detekt-ci commented Mar 7, 2026

Warnings
⚠️ It looks like this PR contains functional changes without a corresponding test.

Generated by 🚫 dangerJS against 32bbc62

@BraisGabin BraisGabin force-pushed the print-cli-arguments branch from e99ae2c to b78fd29 Compare March 7, 2026 16:56
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.04%. Comparing base (61c6ccd) to head (32bbc62).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main    #9126   +/-   ##
=========================================
  Coverage     85.04%   85.04%           
  Complexity     4437     4437           
=========================================
  Files           570      570           
  Lines         12322    12322           
  Branches       2683     2683           
=========================================
  Hits          10479    10479           
  Misses          680      680           
  Partials       1163     1163           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@TaskAction
fun check() {
if (debug.get()) {
println("To execute this on cli:")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This feels a bit too less of a comment to print. I was expecting some separators like ========== before and after.

The comment should also be: to replicate this task in the standalone detekt-cli, please invoke... or so

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

You are completely right, what do you think about this output?

==== To replicate this task in the cli, please invoke: =========================
java -jar detekt-cli-2.0.0-alpha.2-all.jar --plugins /Users/brais.gabin/Workspace/detekt/detekt-rules-ktlint-wrapper/build/libs/detekt-rules-ktlint-wrapper-2.0.0-alpha.2.jar,/Users/brais.gabin/Workspace/detekt/detekt-rules-libraries/build/libs/detekt-rules-libraries-2.0.0-alpha.2.jar,/Users/brais.gabin/Workspace/detekt/detekt-rules-ruleauthors/build/libs/detekt-rules-ruleauthors-2.0.0-alpha.2.jar,/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/2.3.10/8b80e2f80a3b7daa99c16017f91d4c72cd8b31a6/kotlin-stdlib-2.3.10.jar,/Users/brais.gabin/Workspace/detekt/detekt-rules-ktlint-wrapper/ktlint-repackage/build/libs/ktlint-repackage-2.0.0-alpha.2-all.jar,/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/2.0.17/d9e58ac9c7779ba3bf8142aff6c830617a7fe60f/slf4j-api-2.0.17.jar,/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar --input /Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/PropertiesFacade.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/EnvironmentAware.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/ClassloaderAware.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/settings/LoggingAware.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/OutputFacade.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/Reporting.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/Colorizer.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/FileBasedIssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/ComplexityReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/LiteIssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/IssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/ProjectStatisticsReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/NotificationReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/reporting/console/AbstractIssuesReport.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/FileProcessorLocator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/Lifecycle.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/DefaultDetektProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/DefaultVersionProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/AnalysisFacade.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/DefaultConfigProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/tooling/ProcessingSpecSettingsBridge.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/Junk.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/util/ConfigExtensions.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/util/PerformanceMonitor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/YamlConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/BaseConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/FailurePolicies.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/AllRulesConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/DisabledAutoCorrectConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/ValidatableConfiguration.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/DeprecatedPropertiesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/Deprecations.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/ConfigValidation.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/MissingRulesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/InvalidPropertiesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/ValidationSettings.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/AbstractYamlConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/validation/DefaultPropertiesConfigValidator.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/config/CompositeConfig.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/DefaultBaseline.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/BaselineHandler.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/IndentingXMLStreamWriter.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/BaselineResultMapping.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/XmlExtensions.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/baseline/BaselineFormat.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/parser/KotlinEnvironmentUtils.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/parser/DetektMessageCollector.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/RuleDescriptor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/extensions/Reporting.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/extensions/Loading.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/KtFileModifier.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/rules/RuleSets.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/rules/SingleRuleProvider.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/Suppressor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/FunctionSuppressor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/Suppressions.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/suppressors/AnnotationSuppressor.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/TaskPool.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/Analyzer.kt,/Users/brais.gabin/Workspace/detekt/detekt-core/src/main/kotlin/dev/detekt/core/ProcessingSettings.kt --classpath /Users/brais.gabin/Workspace/detekt/detekt-core/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-tooling/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-metrics/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-api/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-parser/build/classes/kotlin/main:/Users/brais.gabin/Workspace/detekt/detekt-psi-utils/build/classes/kotlin/main:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler/2.3.10/35d5ec4e972afbd0aa037fc3bda68ac49ceab883/kotlin-compiler-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/2.3.10/98e0fa43a9204a252fa8806c9b2f3f3131590bcb/kotlin-reflect-2.3.10.jar:/Users/brais.gabin/Workspace/detekt/detekt-utils/build/classes/kotlin/main:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/2.3.10/626e0d6a554c61b239816b108314301950a20de4/kotlin-stdlib-jdk8-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.8.0/ac1dc37a30a93150b704022f8d895ee1bd3a36b3/kotlinx-coroutines-core-jvm-1.8.0.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/2.3.10/eb57a55dda1c04e2b68de7d50619dd7526150442/kotlin-stdlib-jdk7-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/2.3.10/8b80e2f80a3b7daa99c16017f91d4c72cd8b31a6/kotlin-stdlib-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.snakeyaml/snakeyaml-engine/2.10/20f311f742d6894de0750b92414b3c27a40bb9d5/snakeyaml-engine-2.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-script-runtime/2.3.10/1964f711f069f184f7848971fdcbdd15f26ef79/kotlin-script-runtime-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/23.0.0/8cc20c07506ec18e0834947b84a864bfc094484e/annotations-23.0.0.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/analysis-api-standalone-for-ide/2.3.10/73d2c3f85f2f431ed273da06d277bfe4db9d198e/analysis-api-standalone-for-ide-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/analysis-api-for-ide/2.3.10/93d673279f7f9b38d01485a2106299ed39269d24/analysis-api-for-ide-2.3.10.jar:/Users/brais.gabin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/analysis-api-k2-for-ide/2.3.10/ac30b2662526c3f7bf0531b4ebc386ca763c5109/analysis-api-k2-for-ide-2.3.10.jar --analysis-mode full --jvm-target 1.8 --jdk-home /Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home --config /Users/brais.gabin/Workspace/detekt/config/detekt/detekt.yml --baseline /Users/brais.gabin/Workspace/detekt/config/detekt/baseline.xml --report checkstyle:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.xml --report html:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.html --report sarif:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.sarif --report markdown:/Users/brais.gabin/Workspace/detekt/detekt-core/build/reports/detekt/main.md --debug --build-upon-default-config --fail-on-severity error --base-path /Users/brais.gabin/Workspace/detekt -Xcontext-parameters -Xfriend-paths /Users/brais.gabin/Workspace/detekt/detekt-core/build/classes/java/main,/Users/brais.gabin/Workspace/detekt/detekt-core/build/classes/kotlin/main -no-stdlib -no-reflect
================================================================================

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM 🚢

Copy link
Copy Markdown
Member

@schalkms schalkms left a comment

Choose a reason for hiding this comment

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

👍 agree

@schalkms schalkms added this to the 2.0.0 milestone Mar 8, 2026
@cortinico
Copy link
Copy Markdown
Member

@BraisGabin can we make the CI green here?

@BraisGabin
Copy link
Copy Markdown
Member Author

@cortinico or @schalkms could you review this commit and tell me if you agree with it: 32bbc62

I think that

    private fun printCliCommand() {
        val separatorLength = 80
        println(
            "==== To replicate this task in the cli, please invoke: "
                .let { it + "=".repeat(separatorLength - it.length) }
        )
        // ...

is not a magic number. separatorLength = 80 explains what that number is.

The other option is to make it a const but for that I need to move the value at the bottom of the file. Away from their usages. I feel that's worst.

If we agree we could even think about changing the default values of MagicNumber now that we are moving to 2.0.

@schalkms
Copy link
Copy Markdown
Member

schalkms commented Mar 9, 2026

Agreed

is not a magic number. separatorLength = 80 explains what that number is.

@BraisGabin BraisGabin merged commit 6411eda into main Mar 9, 2026
21 checks passed
@BraisGabin BraisGabin deleted the print-cli-arguments branch March 9, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants