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

gangwu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-mr.git


The following commit(s) were added to refs/heads/master by this push:
     new 202251b13 PARQUET-2458: Use --release 8 with java compiler (#1311)
202251b13 is described below

commit 202251b130614652a830249aec8cf136572a6050
Author: Laurent Goujon <[email protected]>
AuthorDate: Thu Apr 25 18:59:47 2024 -0700

    PARQUET-2458: Use --release 8 with java compiler (#1311)
    
    Update maven-compiler-plugin to 3.13.0 version and use
    `maven.compiler.release` property instead of
    `maven.compiler.{source|target}` to set which Java version to target.
    
    Also remove argLine configuration entry from the plugin
    - argLine is not a valid option (it's compilerArgs)
    - XX:MaxPermSize has been ignored since java 8
    
    As --release is not supported in Java 8, add back maven.compiler.source
    and maven.compiler.target properties
    
    Exclude jdk.tools dependency brought by hadoop-annotations. It is
    declared as a system dependency and triggered with the `java.version`
    property but recent versions of the JDK do not bundle a separate
    tools.jar
    
    maven-javadoc-plugin does not ignore `maven.compiler.release` property
    if java version is < 9 (see MJAVADOC-787)
    
    Reintroduce jdk9+ profile to only set `maven.compiler.release` if java
    version is 9 or higher
    
    Move `maven.compiler.release` property under the jdk9+ profile so that
    it effectively overrides the property set in parquet parent pom.
    
    Also adds maven.compiler.source and maven.compiler.target properties to
    quickly block Java8 compiler to try and compile the classes
    
    When using `--release` option with javadoc, imported modules need to be
    declared similar to what javac requires.
    
    Update javadoc plugin configuration to add the extraJavaVectorArgs to
    the javadoc commandline
---
 parquet-hadoop/pom.xml                          |  6 +++++
 parquet-plugins/parquet-encoding-vector/pom.xml | 30 +++++++++++++++++++---
 pom.xml                                         | 33 ++++++++++---------------
 3 files changed, 45 insertions(+), 24 deletions(-)

diff --git a/parquet-hadoop/pom.xml b/parquet-hadoop/pom.xml
index ecb21d8e1..88dab2741 100644
--- a/parquet-hadoop/pom.xml
+++ b/parquet-hadoop/pom.xml
@@ -100,6 +100,12 @@
       <artifactId>hadoop-annotations</artifactId>
       <version>${hadoop.version}</version>
       <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>jdk.tools</groupId>
+          <artifactId>jdk.tools</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.apache.parquet</groupId>
diff --git a/parquet-plugins/parquet-encoding-vector/pom.xml 
b/parquet-plugins/parquet-encoding-vector/pom.xml
index 53eae71ac..c0d5089dc 100644
--- a/parquet-plugins/parquet-encoding-vector/pom.xml
+++ b/parquet-plugins/parquet-encoding-vector/pom.xml
@@ -35,9 +35,9 @@
   <url>https://parquet.apache.org</url>
 
   <properties>
-    <extraJavaVectorArgs>
-      --add-modules=jdk.incubator.vector
-    </extraJavaVectorArgs>
+    <!-- Those properties prevent java 8 to try and compile this code -->
+    <maven.compiler.source>17</maven.compiler.source>
+    <maven.compiler.target>17</maven.compiler.target>
   </properties>
 
   <dependencies>
@@ -73,7 +73,6 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
-          <release>17</release>
           <compilerArgs combine.children="append">
             <compilerArg>${extraJavaVectorArgs}</compilerArg>
           </compilerArgs>
@@ -96,6 +95,14 @@
         </configuration>
       </plugin>
 
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <configuration>
+          <additionalJOption>${extraJavaVectorArgs}</additionalJOption>>
+        </configuration>
+      </plugin>
+
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
@@ -124,4 +131,19 @@
     </plugins>
   </build>
 
+  <profiles>
+    <profile>
+      <id>jdk9+</id>
+      <activation>
+        <jdk>[9,)</jdk>
+      </activation>
+      <properties>
+        <!-- release takes precedence over source/target if java version is 9 
or higher -->
+        <maven.compiler.release>17</maven.compiler.release>
+        <extraJavaVectorArgs>
+          --add-modules=jdk.incubator.vector
+        </extraJavaVectorArgs>
+      </properties>
+    </profile>
+  </profiles>
 </project>
diff --git a/pom.xml b/pom.xml
index 7900b1201..fae22a883 100644
--- a/pom.xml
+++ b/pom.xml
@@ -97,6 +97,8 @@
     <powermock.version>2.0.9</powermock.version>
     <net.openhft.version>0.16</net.openhft.version>
     <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
+    <!-- override org.apache:apache version -->
+    <version.maven-compiler-plugin>3.13.0</version.maven-compiler-plugin>
 
     <!-- parquet-cli dependencies -->
     <opencsv.version>2.3</opencsv.version>
@@ -412,11 +414,6 @@
         <!-- Override source and target from the ASF parent -->
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <argLine>-XX:MaxPermSize=256m</argLine>
-          <source>${maven.compiler.source}</source>
-          <target>${maven.compiler.target}</target>
-        </configuration>
       </plugin>
 
       <plugin>
@@ -653,6 +650,17 @@
   </build>
 
   <profiles>
+    <profile>
+      <id>jdk9+</id>
+      <activation>
+        <jdk>[9,)</jdk>
+      </activation>
+      <properties>
+        <!-- release takes precedence over source/target if java version is 9 
or higher -->
+        <maven.compiler.release>8</maven.compiler.release>
+      </properties>
+    </profile>
+
     <profile>
       <id>hadoop2</id>
       <properties>
@@ -669,21 +677,6 @@
       </properties>
     </profile>
 
-    <profile>
-      <id>jdk9+</id>
-      <activation>
-        <jdk>[1.9,)</jdk>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-compiler-plugin</artifactId>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
     <profile>
       <id>vector-plugins</id>
       <modules>

Reply via email to