You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by ab...@apache.org on 2026/03/19 12:50:09 UTC

(tez) branch master updated: TEZ-4693: Migrate from proprietary atlassian clover code coverage plugin to JaCoCo (#465) (Raghav Aggarwal reviewed by Laszlo Bodor)

This is an automated email from the ASF dual-hosted git repository.

abstractdog pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tez.git


The following commit(s) were added to refs/heads/master by this push:
     new 30932e91f TEZ-4693: Migrate from proprietary atlassian clover code coverage plugin to JaCoCo (#465) (Raghav Aggarwal reviewed by Laszlo Bodor)
30932e91f is described below

commit 30932e91f5fd5ed2bafea35b0bbc590ed132028e
Author: Raghav Aggarwal <ra...@gmail.com>
AuthorDate: Thu Mar 19 18:20:04 2026 +0530

    TEZ-4693: Migrate from proprietary atlassian clover code coverage plugin to JaCoCo (#465) (Raghav Aggarwal reviewed by Laszlo Bodor)
---
 BUILDING.txt |  3 +--
 pom.xml      | 57 ++++++++++++++++++++++++++++-----------------------------
 2 files changed, 29 insertions(+), 31 deletions(-)

diff --git a/BUILDING.txt b/BUILDING.txt
index 733dcb09c..cd8623a78 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -40,7 +40,7 @@ Maven build goals:
  * Run checkstyle            : mvn compile checkstyle:checkstyle
  * Install JAR in M2 cache   : mvn install
  * Deploy JAR to Maven repo  : mvn deploy
- * Run clover                : mvn test -Pclover [-Dclover.license=${user.home}/clover.license]
+ * Run jacoco                : mvn test -Pjacoco
  * Run Rat                   : mvn apache-rat:check
  * Build javadocs            : mvn javadoc:javadoc
  * Build distribution        : mvn package[-Dhadoop.version=2.7.0]
@@ -49,7 +49,6 @@ Maven build goals:
 Build options:
  
  * Use -Dpackage.format to create distributions with a format other than .tar.gz (mvn-assembly-plugin formats). 
- * Use -Dclover.license to specify the path to the clover license file
  * Use -Dhadoop.version to specify the version of hadoop to build tez against
  * Use -Dprotoc.path to specify the path to protoc
  * Use -Dallow.root.build to root build tez-ui components
diff --git a/pom.xml b/pom.xml
index a4377f645..267fcc741 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,7 +68,6 @@
     <commons-collections4.version>4.4</commons-collections4.version>
     <commons-io.version>2.16.0</commons-io.version>
     <commons-lang3.version>3.19.0</commons-lang3.version>
-    <clover.license>${user.home}/clover.license</clover.license>
     <curator.version>5.9.0</curator.version>
     <dependency-check-maven.version>3.2.0</dependency-check-maven.version>
     <dependency-maven-plugin.version>3.8.1</dependency-maven-plugin.version>
@@ -143,12 +142,6 @@
   </repositories>
 
   <pluginRepositories>
-    <pluginRepository>
-      <id>maven2-repository.atlassian</id>
-      <name>Atlassian Maven Repository</name>
-      <url>https://maven.atlassian.com/repository/public</url>
-      <layout>default</layout>
-    </pluginRepository>
     <pluginRepository>
       <id>${distMgmtSnapshotsId}</id>
       <name>${distMgmtSnapshotsName}</name>
@@ -956,7 +949,9 @@
             <forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
             <testFailureIgnore>true</testFailureIgnore>
             <argLine>
+              @{argLine}
               -XX:+HeapDumpOnOutOfMemoryError
+              -XX:+EnableDynamicAgentLoading
               --add-opens=java.base/java.lang=ALL-UNNAMED
               --add-opens=java.base/java.util=ALL-UNNAMED
               --add-opens=java.base/java.io=ALL-UNNAMED
@@ -1247,54 +1242,58 @@
       </build>
     </profile>
     <profile>
-      <id>clover</id>
+      <id>jacoco</id>
       <activation>
         <activeByDefault>false</activeByDefault>
-        <property>
-          <name>clover</name>
-        </property>
       </activation>
       <properties>
-        <maven.clover.licenseLocation>${clover.license}</maven.clover.licenseLocation>
-        <clover.version>3.1.11</clover.version>
+        <jacoco.version>0.8.14</jacoco.version>
       </properties>
       <build>
         <plugins>
           <plugin>
-            <groupId>com.atlassian.maven.plugins</groupId>
-            <artifactId>maven-clover2-plugin</artifactId>
-            <version>${clover.version}</version>
+            <groupId>org.jacoco</groupId>
+            <artifactId>jacoco-maven-plugin</artifactId>
+            <version>${jacoco.version}</version>
             <configuration>
-              <includesAllSourceRoots>true</includesAllSourceRoots>
-              <includesTestSourceRoots>true</includesTestSourceRoots>
-              <targetPercentage>50%</targetPercentage>
-              <generateHtml>true</generateHtml>
-              <generateXml>true</generateXml>
               <excludes>
                 <exclude>**/generated/**</exclude>
               </excludes>
             </configuration>
             <executions>
               <execution>
-                <id>clover-setup</id>
-                <phase>process-sources</phase>
+                <id>jacoco-prepare-agent</id>
                 <goals>
-                  <goal>setup</goal>
+                  <goal>prepare-agent</goal>
                 </goals>
               </execution>
               <execution>
-                <id>clover</id>
+                <id>jacoco-report</id>
                 <phase>test</phase>
                 <goals>
-                  <goal>clover</goal>
+                  <goal>report</goal>
                 </goals>
               </execution>
               <execution>
-                <id>site</id>
-                <phase>pre-site</phase>
+                <id>jacoco-check</id>
+                <phase>verify</phase>
                 <goals>
-                  <goal>aggregate</goal>
+                  <goal>check</goal>
                 </goals>
+                <configuration>
+                  <rules>
+                    <rule>
+                      <element>BUNDLE</element>
+                      <limits>
+                        <limit>
+                          <counter>INSTRUCTION</counter>
+                          <value>COVEREDRATIO</value>
+                          <minimum>0.50</minimum>
+                        </limit>
+                      </limits>
+                    </rule>
+                  </rules>
+                </configuration>
               </execution>
             </executions>
           </plugin>