NihalJain commented on code in PR #142:
URL: https://github.com/apache/hbase-thirdparty/pull/142#discussion_r2206509059
##########
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>
+ <!-- JDK 8 enforcement for hbase-unsafe module only-->
+ <execution>
+ <id>enforce-jdk8-bytecode</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <phase>verify</phase>
+ <configuration>
+ <rules>
+ <enforceBytecodeVersion>
+ <maxJdkVersion>${java.min.version}</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-unsafe requires to be compiled with version 1.8
of the JDK to properly build from source. You appear to be using a newer
dependency. You can use
either "mvn -version" or "mvn enforcer:display-info" to verify what version
is active.
Non-release builds can temporarily build with a newer JDK version by setting
the
'compileSource' property (eg. mvn -DcompileSource=1.8 clean
package).</message>
- </enforceBytecodeVersion>
- </rules>
- </configuration>
+ </enforceBytecodeVersion>
+ </rules>
+ <skip>${skipJdk8BytecodeCheck}</skip>
+ </configuration>
+ </execution>
+ <!-- JDK 17 enforcement for all modules except hbase-unsafe -->
+ <execution>
+ <id>enforce-jdk17-bytecode</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <phase>verify</phase>
+ <configuration>
+ <rules>
+ <enforceBytecodeVersion>
+ <maxJdkVersion>${compileSource}</maxJdkVersion>
+ <ignoreClasses>
+ <ignoreClass>module-info</ignoreClass>
+ </ignoreClasses>
+ <ignoreOptionals>true</ignoreOptionals>
+ <ignoredScopes>
+ <ignoredScope>test</ignoredScope>
+ </ignoredScopes>
+ <message>Some modules require JDK 17 bytecode
compatibility.
Review Comment:
update message based on new defaults
--
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]