build: refine AggregatedJacocoReportTask
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/80efe223 Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/80efe223 Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/80efe223 Branch: refs/heads/develop Commit: 80efe223f0e2443b01da7e23217c42dbbb44a043 Parents: 528ad2f Author: Paul Merlin <[email protected]> Authored: Sun Apr 23 18:35:54 2017 +0200 Committer: Paul Merlin <[email protected]> Committed: Sun Apr 23 18:35:54 2017 +0200 ---------------------------------------------------------------------- .../reports/AggregatedJacocoReportTask.groovy | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/polygene-java/blob/80efe223/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/reports/AggregatedJacocoReportTask.groovy ---------------------------------------------------------------------- diff --git a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/reports/AggregatedJacocoReportTask.groovy b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/reports/AggregatedJacocoReportTask.groovy index 155853d..b9bae9d 100644 --- a/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/reports/AggregatedJacocoReportTask.groovy +++ b/buildSrc/src/main/groovy/org/apache/polygene/gradle/structure/reports/AggregatedJacocoReportTask.groovy @@ -67,27 +67,27 @@ class AggregatedJacocoReportTask extends DefaultTask structure( name: 'Apache Polygene⢠(Java Edition) SDK' ) { group( name: 'Core' ) { classfiles { coreProjects.collect { p -> fileset dir: "${ p.buildDir.path }/classes/main" } } - sourcefiles { coreProjects.collect { p -> fileset dir: "${ p.projectDir.path }/src/main/java" } } + sourcefiles { samplesProjects.collect { p -> sourceRootsOf( p ).each { fileset dir: it.absolutePath } } } } group( name: 'Libraries' ) { classfiles { libProjects.collect { p -> fileset dir: "${ p.buildDir.path }/classes/main" } } - sourcefiles { libProjects.collect { p -> fileset dir: "${ p.projectDir.path }/src/main/java" } } + sourcefiles { samplesProjects.collect { p -> sourceRootsOf( p ).each { fileset dir: it.absolutePath } } } } group( name: 'Extensions' ) { classfiles { extProjects.collect { p -> fileset dir: "${ p.buildDir.path }/classes/main" } } - sourcefiles { extProjects.collect { p -> fileset dir: "${ p.projectDir.path }/src/main/java" } } + sourcefiles { samplesProjects.collect { p -> sourceRootsOf( p ).each { fileset dir: it.absolutePath } } } } group( name: 'Tools' ) { classfiles { toolsProjects.collect { p -> fileset dir: "${ p.buildDir.path }/classes/main" } } - sourcefiles { toolsProjects.collect { p -> fileset dir: "${ p.projectDir.path }/src/main/java" } } + sourcefiles { samplesProjects.collect { p -> sourceRootsOf( p ).each { fileset dir: it.absolutePath } } } } group( name: 'Tutorials' ) { classfiles { tutoProjects.collect { p -> fileset dir: "${ p.buildDir.path }/classes/main" } } - sourcefiles { tutoProjects.collect { p -> fileset dir: "${ p.projectDir.path }/src/main/java" } } + sourcefiles { samplesProjects.collect { p -> sourceRootsOf( p ).each { fileset dir: it.absolutePath } } } } group( name: 'Samples' ) { classfiles { samplesProjects.collect { p -> fileset dir: "${ p.buildDir.path }/classes/main" } } - sourcefiles { samplesProjects.collect { p -> fileset dir: "${ p.projectDir.path }/src/main/java" } } + sourcefiles { samplesProjects.collect { p -> sourceRootsOf( p ).each { fileset dir: it.absolutePath } } } } } csv destfile: "${ outputDirectory }/jacoco.csv", encoding: 'UTF-8' @@ -96,4 +96,11 @@ class AggregatedJacocoReportTask extends DefaultTask } } } + + private static List<File> sourceRootsOf( Project project ) + { + [ 'src/main/java', 'src/main/groovy', 'src/main/kotlin' ] + .collect { project.file( it ) } + .findAll { it.exists() } + } }
