blob: 4e2086f1662098f87e18eda52a6e6ddcd8d6ea9f [file] [log] [blame]
/*
* 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.
*/
if (project.hasProperty("staticAnalysis")) {
apply plugin: 'checkstyle'
//Checkstyle configuration
configurations.checkstyle {
dependencies.all { dep ->
dep.transitive = true
}
}
//Findbugs configuration
apply plugin: 'findbugs'
// Switch default Findbugs report to HTML for developers
def findbugsXmlEnabled = false
def findbugsHtmlEnabled = true
// Provide ability to change report type to XML for ingesting into other ap
if (project.hasProperty("findbugsXmlReport")) {
findbugsXmlEnabled = true
findbugsHtmlEnabled = false
}
configurations.findbugs {
dependencies.all { dep ->
dep.transitive = true
}
findbugs.effort = 'max'
findbugs.reportLevel = 'low'
}
tasks.withType(FindBugs) {
reports {
xml.enabled = findbugsXmlEnabled
html.enabled = findbugsHtmlEnabled
}
}
}
// JaCoCo configuration
if (project.hasProperty("codeCoverage")) {
apply plugin: 'jacoco'
configurations.jacocoAnt {
dependencies.all { dep ->
dep.transitive = true
}
}
task mergeIntegrationTestCoverage(type: JacocoMerge) {
description 'Merges Distributed and Integration test coverage results'
destinationFile = file("${buildDir}/jacoco/mergedIntegrationTestCoverage.exec")
executionData = fileTree(dir: 'build/jacoco', include: [
'**/distributedTest.exec',
'**/integrationTest.exec'
])
}
jacocoTestReport {
reports {
csv.enabled false
sourceSets project.sourceSets.main
html.destination "${buildDir}/jacocoTestHtml"
}
}
task jacocoIntegrationTestReport(type: JacocoReport) {
reports {
csv.enabled false
sourceSets project.sourceSets.main
html.destination "${buildDir}/jacocoIntegrationTestHtml"
executionData = fileTree(dir: 'build/jacoco', include: '**/integrationTest.exec')
}
}
task jacocoDistributedTestReport(type: JacocoReport) {
reports {
csv.enabled false
sourceSets project.sourceSets.main
html.destination "${buildDir}/jacocoDistributedTestHtml"
executionData = fileTree(dir: 'build/jacoco', include: '**/distributedTest.exec')
}
}
task jacocoOverallTestReport(type: JacocoReport) {
reports {
csv.enabled false
sourceSets project.sourceSets.main
html.destination "${buildDir}/jacocoOverallTestHtml"
executionData = fileTree(dir: 'build/jacoco', include: '**/*.exec')
}
}
}