You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2017/04/23 16:36:34 UTC

[2/3] polygene-java git commit: build: refine AggregatedJacocoReportTask

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 <pa...@apache.org>
Authored: Sun Apr 23 18:35:54 2017 +0200
Committer: Paul Merlin <pa...@apache.org>
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\u2122 (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() }
+  }
 }