Apache9 commented on code in PR #142:
URL: https://github.com/apache/hbase-thirdparty/pull/142#discussion_r2207111802


##########
pom.xml:
##########
@@ -247,8 +278,8 @@
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.11.0</version>
           <configuration>
-            <source>1.8</source>
-            <target>1.8</target>
+            <source>${compileSource}</source>
+            <target>${compileSource}</target>

Review Comment:
   Oh, this is incorrect, we still need to generate the java 8 bytecode. For 
JDK version higher than 1.8, we could use '--release 8' to force it genereate 
the java 8 byte code and also use the symbols from JDK8.
   
   The only difference is hbase-unsafe, because it depends on jdk.unsupported, 
which is not supported at compile time in JDK17, so we need to use JDK8 to 
compile it, and set source and target here.



##########
pom.xml:
##########
@@ -125,8 +127,15 @@
     <maven.javadoc.skip>true</maven.javadoc.skip>
     
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm</maven.build.timestamp.format>
     <buildDate>${maven.build.timestamp}</buildDate>
-    <compileSource>1.8</compileSource>
-    <java.min.version>${compileSource}</java.min.version>
+    <!-- Project level compilation properties -->
+    <compileSource>17</compileSource>

Review Comment:
   We'd better use `--release 8` for all modules expect hbase-unsafe. For 
hbase-unsafe, we should use JDK8 to compile it, and set compileSource and 
compileTarget to 8.



##########
pom.xml:
##########
@@ -519,28 +573,65 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-enforcer-plugin</artifactId>
-            <configuration>
-              <rules>
-                <enforceBytecodeVersion>
-                  <maxJdkVersion>${compileSource}</maxJdkVersion>
-                  <ignoreClasses>
-                    <ignoreClass>module-info</ignoreClass>
-                    
<ignoreClass>**.glassfish.jersey.internal.jsr166.SubmissionPublisher*</ignoreClass>
-                    
<ignoreClass>**.glassfish.jersey.internal.jsr166.JerseyFlowSubscriber*</ignoreClass>
-                  </ignoreClasses>
-                  <ignoreOptionals>true</ignoreOptionals>
-                  <ignoredScopes>
-                    <ignoredScope>test</ignoredScope>
-                  </ignoredScopes>
-                  <message>HBase has unsupported dependencies.
-  HBase requires that all dependencies be compiled with version 
${compileSource} or earlier
+            <executions>

Review Comment:
   We still need to enforce jdk8 byte code for all modules, expect the new 
jetty 12 module, as explained above.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to