HBASE-28381 Support building hbase-operator-tools with JDK17 (#141)
Signed-off-by: Rajeshbabu Chintaguntla <rajeshbabu@apache.org>
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
diff --git a/pom.xml b/pom.xml
index bff91ba..3e05590 100644
--- a/pom.xml
+++ b/pom.xml
@@ -123,6 +123,7 @@
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm</maven.build.timestamp.format>
<buildDate>${maven.build.timestamp}</buildDate>
<compileSource>1.8</compileSource>
+ <releaseTarget>8</releaseTarget>
<java.min.version>${compileSource}</java.min.version>
<maven.min.version>3.3.3</maven.min.version>
<spotless.version>2.27.2</spotless.version>
@@ -141,6 +142,13 @@
<!--code coverage properties-->
<clover-maven-plugin.version>4.4.1</clover-maven-plugin.version>
<sonar-maven-plugin.version>3.9.1.2184</sonar-maven-plugin.version>
+
+ <jacocoArgLine/>
+ <hbase-surefire.argLine>-Djava.security.manager=allow</hbase-surefire.argLine>
+ <!-- Currently, all of these options are known to be required by the test cases -->
+ <hbase-surefire.jdk11.flags>--add-opens java.base/java.lang=ALL-UNNAMED
+ --add-opens java.base/java.lang.reflect=ALL-UNNAMED</hbase-surefire.jdk11.flags>
+ <hbase-surefire.jdk17.flags/>
</properties>
<dependencyManagement>
<dependencies>
@@ -603,6 +611,41 @@
</profile>
<profile>
+ <id>build-with-jdk8</id>
+ <activation>
+ <jdk>1.8</jdk>
+ </activation>
+ <properties>
+ <maven.compiler.source>${compileSource}</maven.compiler.source>
+ <maven.compiler.target>${compileSource}</maven.compiler.target>
+ </properties>
+ </profile>
+ <profile>
+ <id>build-with-jdk11</id>
+ <activation>
+ <jdk>[11,)</jdk>
+ </activation>
+ <properties>
+ <maven.compiler.release>${releaseTarget}</maven.compiler.release>
+ <argLine>${hbase-surefire.jdk11.flags}
+ ${hbase-surefire.argLine}
+ @{jacocoArgLine}</argLine>
+ </properties>
+ </profile>
+ <profile>
+ <id>build-with-jdk17</id>
+ <activation>
+ <jdk>[17,)</jdk>
+ </activation>
+ <properties>
+ <argLine>${hbase-surefire.jdk11.flags}
+ ${hbase-surefire.jdk17.flags}
+ ${hbase-surefire.argLine}
+ @{jacocoArgLine}</argLine>
+ </properties>
+ </profile>
+
+ <profile>
<id>clover</id>
<activation>
<activeByDefault>false</activeByDefault>