Merge pull request #12 from 2pk03/main

update logo
diff --git a/.travis.yml b/.travis.yml
index 72662e2..c511e1e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -60,12 +60,11 @@
   - echo "wayang.giraph.minWorkers = 1" >> travis/wayang.properties
   - echo "wayang.mapreduce.job.counters.limit = 200" >> travis/wayang.properties
   - cat travis/wayang.properties
-  - rm -rf /home/travis/build/apache/incubator-wayang/target/rat.txt
-  - rm -rf result.log
+  - rm -rf /home/travis/build/apache/incubator-wayang/target/rat.txt || echo "file doesn't exist"
+  - rm -rf result.log || echo "file doesn't exist"
   - mvn_opts=("-Dorg.slf4j.simpleLogger.defaultLogLevel=error" "-Dwayang.configuration=file://$(pwd)/travis/wayang.properties" "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=error" "-Dlog4j.rootLogger=ERROR")
 script:
   #- jdk_switcher use openjdk8
   - bin/change-scala-version.sh 2.11.8 && mvn clean install -Pdistro "${mvn_opts[@]}" &> result.log
-  - cat /home/travis/build/apache/incubator-wayang/target/rat.txt
-  - tail -n 2000 result.log
+  - cat /home/travis/build/apache/incubator-wayang/target/rat.txt || echo "file doesn't exist"
   - tail -n 2000 result.log
diff --git a/build.md b/build.md
index 5b0820d..fc34906 100644
--- a/build.md
+++ b/build.md
@@ -34,4 +34,13 @@
 - wayang-iejoin_#Scala_Version#
 - wayang-spark_#Scala_Version#
 - wayang-profiler_#Scala_Version#
-- wayang-tests-integration_#Scala_Version# 
\ No newline at end of file
+- wayang-tests-integration_#Scala_Version# 
+
+
+# Executing Coverage 
+
+```shell
+mvn clean verify jacoco:report
+```
+
+the final report is placed on `./target/aggregate.exec/aggregate.exec`
diff --git a/pom.xml b/pom.xml
index 2a84995..a6a4da0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -118,6 +118,8 @@
         <java-module-name>org.apache.wayang.default</java-module-name>
         <scala.version>2.11.12</scala.version>
         <scala.mayor.version>2.11</scala.mayor.version>
+        <code.coverage.project.folder>${basedir}/</code.coverage.project.folder>
+        <code.coverage.overall.data.folder>${basedir}/target/aggregate.exec</code.coverage.overall.data.folder>
     </properties>
 
     <!-- Make Snapshots of Apache projects available -->
@@ -371,33 +373,6 @@
             </build>
         </profile>
 
-        <!-- TODO: At Apache we have a SonarCloud system setup to do this and it's configured by Jenkins. So this profile could be removed. -->
-        <profile>
-            <!-- Profile for SonarCube -->
-            <id>sonarcube</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.jacoco</groupId>
-                        <artifactId>jacoco-maven-plugin</artifactId>
-                        <version>${jacoco.version}</version>
-                        <configuration>
-                            <destFile>${jacoco.destfile}</destFile>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>jacoco-initialize</id>
-                                <goals>
-                                    <goal>prepare-agent</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-
 
         <profile>
             <id>scala</id>
@@ -1120,6 +1095,60 @@
                 </executions>
             </plugin>
 
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>0.8.3</version>
+                <executions>
+                    <execution>
+                        <id>coverage-initialize</id>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>coverage-report</id>
+                        <phase>post-integration-test</phase>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                    </execution>
+<!--                    TODO addd the check to the minimum coverage -->
+<!--                    &lt;!&ndash; Threshold &ndash;&gt;-->
+<!--                    <execution>-->
+<!--                        <id>coverage-check</id>-->
+<!--                        <goals>-->
+<!--                            <goal>check</goal>-->
+<!--                        </goals>-->
+<!--                    </execution>-->
+                    <execution>
+                        <id>report-aggregate</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>report-aggregate</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>merge-results</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>merge</goal>
+                        </goals>
+                        <configuration>
+                            <fileSets>
+                                <fileSet>
+                                    <directory>${code.coverage.project.folder}</directory>
+                                    <includes>
+                                        <include>**/target/jacoco.exec</include>
+                                    </includes>
+                                </fileSet>
+                            </fileSets>
+                            <destFile>${code.coverage.overall.data.folder}/aggregate.exec</destFile>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
         </plugins>
     </build>