下载detekt源码
访问detekt github官网
https://github.com/arturbosch/detekt/
使用download下载源码或使用git clone 下载源码
访问官网
https://arturbosch.github.io/detekt/cli.html
访问如上官网,选中Getting Started开始,我们可以看到Detekt给我们提供了五种编译方式
- with the Command Line Interface
- with Gradle Groovy DSL
- with Gradle Kotlin DSL
- with Gradle Plain Task
- with Maven Ant Task
开始编译
我们选用第一种(
- cd detekt
- gradle build(
如果编译失败,请使用./gradlew build ) - java -jar detekt-cli/build/libs/detekt-cli-[version]-all.jar [parameters]*
我们解释以下第二步和第三步,
[parameters]* 部分解释
--input
--config
--report
实际应用
1 | java -jar detekt-cli-1.2.1-all.jar --input ~/gitProjects/SecooComponentMaster/ --config ~/gitProjects/SecooComponentMaster/detektFiles/deteky.yml --report html:detekt.html |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | Usage: detekt [options] Options: --auto-correct, -ac Allow rules to auto correct code if they support it. The default rule sets do NOT support auto correcting and won't change any line in the users code base. However custom rules can be written to support auto correcting. The additional 'formatting' rule set, added with '--plugins', does support it and needs this flag. Default: false --baseline, -b If a baseline xml file is passed in, only new code smells not in the baseline are printed in the console. --build-upon-default-config Preconfigures detekt with a bunch of rules and some opinionated defaults for you. Allows additional provided configurations to override the defaults. Default: false --classpath, -cp EXPERIMENTAL: Paths where to find user class files and depending jar files. Used for type resolution. --config, -c Path to the config file (path/to/config.yml). Multiple configuration files can be specified with ',' or ';' as separator. --config-resource, -cr Path to the config resource on detekt's classpath (path/to/config.yml). --create-baseline, -cb Treats current analysis findings as a smell baseline for future detekt runs. Default: false --debug Prints extra information about configurations and extensions. Default: false --disable-default-rulesets, -dd Disables default rule sets. Default: false --excludes, -ex Globing patterns describing paths to exclude from the analysis. --fail-fast Same as 'build-upon-default-config' but explicitly running all available rules. With this setting only exit code 0 is returned when the analysis does not find a single code smell. Additional configuration files can override rule properties which includes turning off specific rules. Default: false --generate-config, -gc Export default config to default-detekt-config.yml. Default: false --help, -h Shows the usage. --includes, -in Globing patterns describing paths to include in the analysis. Useful in combination with 'excludes' patterns. --input, -i Input paths to analyze. Multiple paths are separated by comma. If not specified the current working directory is used. --language-version EXPERIMENTAL: Compatibility mode for Kotlin language version X.Y, reports errors for all language features that came out later. Default: latest stable Possible Values: [1.0, 1.1, 1.2, 1.3, 1.4] --jvm-target EXPERIMENTAL: Target version of the generated JVM bytecode that was generated during compilation and is now being used for type resolution Default: 1.6 Possible Values: [1.6, 1.8, 9, 10, 11, 12] --parallel Enables parallel compilation of source files. Should only be used if the analyzing project has more than ~200 Kotlin files. Default: false --plugins, -p Extra paths to plugin jars separated by ',' or ';'. --report, -r 为给定的“报告ID”生成报告,并将其存储在给定的“path”中。 条目应包含:[report-id:path]。 可用的“报告ID”值: 'txt','xml','html' These can also be used in combination with each other e.g. '-r txt:reports/detekt.txt -r xml:reports/detekt.xml' |