I add DoLast part to test task and also add doLast part to JacocoTestReport task, but when i running JacocoTestReport task, JacocoTestReport always skipped, and copy task always say NO-SOURCE ,Pls help:
apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'base'
sourceCompatibility = 1.7
targetCompatibility = 1.7
compileJava.options.encoding = 'UTF-8'
version = '1.0'
sourceSets {
main {
java{
srcDirs = ['src/main/java']
}
resources {
srcDirs = ['src/main/resources']
}
}
test {
java{
srcDirs = ['src/test/java']
}
resources {
srcDirs = ['src/test/resources']
}
}
}
repositories {
mavenCentral()
}
jacoco {
toolVersion = "0.7.6.201602180812"
reportsDir = file("$buildDir/customJacocoReportDir")
}
dependencies {
testCompile(['org.testng:testng:6.8.8'])
compile(['com.google.code.gson:gson:2.8.0'])
compile fileTree(dir: 'lib', include: ['*.jar'])
}
test.doLast{
// enable TestNG support (default is JUnit)
useTestNG() {
suites 'src/test/java/TestNG.xml'
useDefaultListeners = true
}
jacoco {
append = false
destinationFile = file("$buildDir/jacoco/TestNG.exec")
//classDumpFile = file("$buildDir/jacoco/classpathdumps")
}
}
task applicationCodeCoverageReport(type: JacocoReport, dependsOn:test){
sourceSets sourceSets.main
group = 'Reporting'
description = 'Generate Jacoco coverage reports after running tests.'
executionData = files('build/jacoco/TestNG.exec')
doFirst {
delete fileTree (dir: "${buildDir}/classes", include: "**/*.class")
}
reports {
xml{
enabled true
destination 'build/reports/jacoco/jacoco.xml'
}
csv.enabled false
html{
enabled true
destination 'build/jacocoHtml'
}
}
doLast{
println "JACOCO Dolast************************"
}
}
task copyConfigureFiles(type: Copy) doLast{
from 'config'
into 'target/config/'
}
output:
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test
:applicationCodeCoverageReport SKIPPED
:copyConfigureFiles NO-SOURCE