| if (project.hasProperty('skipJavaFormat')) { |
| return; |
| } |
| |
| apply plugin: 'checkstyle' |
| |
| checkstyle { |
| toolVersion = "10.12.2" |
| configDirectory = file("${project.rootDir}/styleguide") |
| config = resources.text.fromFile(new File(configDirectory.get().getAsFile(), "checkstyle.xml")) |
| } |
| |
| apply plugin: 'pmd' |
| |
| pmd { |
| toolVersion = '6.55.0' |
| consoleOutput = true |
| reportsDir = file("$project.buildDir/reports/pmd") |
| ruleSetFiles = files(new File(rootDir, "styleguide/pmd-ruleset.xml")) |
| ruleSets = [] |
| } |
| |
| apply plugin: 'com.diffplug.spotless' |
| |
| spotless { |
| java { |
| target fileTree('.') { |
| include '**/*.java' |
| exclude '**/build/**', '**/build-*/**', '**/bin/**', "src/generated/**" |
| } |
| toggleOffOn() |
| googleJavaFormat() |
| removeUnusedImports() |
| trimTrailingWhitespace() |
| endWithNewline() |
| } |
| groovyGradle { |
| target fileTree('.') { |
| include '**/*.gradle' |
| exclude '**/build/**', '**/build-*/**', '**/bin/**' |
| } |
| greclipse() |
| indentWithSpaces(4) |
| trimTrailingWhitespace() |
| endWithNewline() |
| } |
| json { |
| target fileTree('.') { |
| include '**/*.json' |
| exclude '**/build/**', '**/build-*/**', '**/bin/**' |
| exclude '**/simgui-ds.json', '**/simgui-window.json', '**/simgui.json', '**/networktables.json' |
| } |
| gson() |
| .indentWithSpaces(2) |
| } |
| format 'xml', { |
| target fileTree('.') { |
| include '**/*.xml' |
| exclude '**/build/**', '**/build-*/**', '**/bin/**', '**/.idea/**', '**/.run/**' |
| } |
| eclipseWtp('xml') |
| trimTrailingWhitespace() |
| indentWithSpaces(2) |
| endWithNewline() |
| } |
| format 'misc', { |
| target fileTree('.') { |
| include '**/*.md', '**/.gitignore' |
| exclude '**/build/**', '**/build-*/**', '**/bin/**' |
| } |
| trimTrailingWhitespace() |
| indentWithSpaces(2) |
| endWithNewline() |
| } |
| } |
| |
| apply plugin: 'com.github.spotbugs' |
| |
| spotbugs { |
| ignoreFailures = false |
| effort = spotbugsEffort |
| excludeFilter = file("${project.rootDir}/styleguide/spotbugs-exclude.xml") |
| } |
| |
| task javaFormat { |
| dependsOn(tasks.withType(Checkstyle)) |
| dependsOn(tasks.withType(Pmd)) |
| } |
| javaFormat.dependsOn 'spotlessApply' |