| /* |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| */ |
| |
| apply plugin: 'checkstyle' |
| apply plugin: 'pmd' |
| apply plugin: 'findbugs' |
| |
| dependencies { |
| checkstyle 'com.puppycrawl.tools:checkstyle:6.5' |
| } |
| |
| def qualityConfigDir = "$project.rootDir/config/quality"; |
| def reportsDir = "$project.buildDir/reports" |
| |
| check.dependsOn 'checkstyle', 'pmd','findbugs' |
| |
| task checkstyle(type: Checkstyle, group: 'Verification', description: 'Runs code style checks') { |
| configFile file("$qualityConfigDir/checkstyle/checkstyle-config.xml") |
| source 'src' |
| include '**/*.java' |
| exclude '**/gen/**' |
| |
| reports { |
| xml.enabled = true |
| xml { |
| destination file("$reportsDir/checkstyle/checkstyle.xml") |
| } |
| } |
| |
| classpath = files() |
| } |
| |
| task pmd(type: Pmd, group: 'Verification', description: 'Inspect sourcecode for bugs') { |
| ruleSetFiles = files("$qualityConfigDir/pmd/pmd-ruleset.xml") |
| ignoreFailures = false |
| ruleSets = [] |
| |
| source 'src' |
| include '**/*.java' |
| exclude '**/gen/**' |
| |
| reports { |
| xml.enabled = true |
| html.enabled = true |
| xml { |
| destination file("$reportsDir/pmd/pmd.xml") |
| } |
| html { |
| destination file("$reportsDir/pmd/pmd.html") |
| } |
| } |
| } |
| |
| task findbugs(type: FindBugs, |
| group: 'Verification', |
| description: 'Inspect java bytecode for bugs', |
| dependsOn: ['compileDebugSources','compileReleaseSources']) { |
| |
| ignoreFailures = false |
| effort = "max" |
| reportLevel = "high" |
| excludeFilter = new File("$qualityConfigDir/findbugs/android-exclude-filter.xml") |
| classes = files("$project.rootDir/app/build/intermediates/javac") |
| |
| source 'src' |
| include '**/*.java' |
| exclude '**/gen/**' |
| |
| reports { |
| xml.enabled = false |
| html.enabled = true |
| xml { |
| destination file("$reportsDir/findbugs/findbugs.xml") |
| } |
| html {12 |
| destination file("$reportsDir/findbugs/findbugs.html") |
| } |
| } |
| |
| classpath = files() |
| } |