| /* |
| * 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') |
| } |
| } |
| } |