Skip to content

Commit c472134

Browse files
committed
Require Java 17 or Java 21 for building Bookkeeper
1 parent e200aa3 commit c472134

File tree

8 files changed

+127
-34
lines changed

8 files changed

+127
-34
lines changed

.github/workflows/bk-ci.yml

+6-10
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
uses: actions/setup-java@v4
7979
with:
8080
distribution: 'temurin'
81-
java-version: 11
81+
java-version: 17
8282

8383
- name: Validate pull request
8484
if: steps.check_changes.outputs.docs_only != 'true'
@@ -156,7 +156,7 @@ jobs:
156156
uses: actions/setup-java@v4
157157
with:
158158
distribution: 'temurin'
159-
java-version: 11
159+
java-version: 17
160160

161161
- name: Build
162162
run: |
@@ -230,7 +230,7 @@ jobs:
230230
uses: actions/setup-java@v4
231231
with:
232232
distribution: 'temurin'
233-
java-version: 11
233+
java-version: 17
234234

235235
- name: Pick ubuntu mirror for the docker image build
236236
run: |
@@ -315,7 +315,7 @@ jobs:
315315
uses: actions/setup-java@v4
316316
with:
317317
distribution: 'temurin'
318-
java-version: 8
318+
java-version: 17
319319

320320
- name: Pick ubuntu mirror for the docker image build
321321
run: |
@@ -397,7 +397,7 @@ jobs:
397397
uses: actions/setup-java@v4
398398
with:
399399
distribution: 'temurin'
400-
java-version: 11
400+
java-version: 17
401401

402402
- name: mvn package
403403
run: mvn -B -nsu clean package -DskipTests
@@ -429,7 +429,7 @@ jobs:
429429
uses: actions/setup-java@v4
430430
with:
431431
distribution: 'temurin'
432-
java-version: 11
432+
java-version: 17
433433

434434
- name: mvn package
435435
run: mvn -B -nsu clean package -DskipTests
@@ -444,10 +444,6 @@ jobs:
444444
fail-fast: false
445445
matrix:
446446
include:
447-
- step_name: Compatibility Check Java8
448-
jdk_version: 8
449-
- step_name: Compatibility Check Java11
450-
jdk_version: 11
451447
- step_name: Compatibility Check Java17
452448
jdk_version: 17
453449
- step_name: Compatibility Check Java21

.github/workflows/bk-streamstorage-python.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
uses: actions/setup-java@v4
7171
with:
7272
distribution: 'temurin'
73-
java-version: 11
73+
java-version: 17
7474
- name: Build
7575
run: mvn -q -T 1C -B -nsu clean install -DskipTests -Dcheckstyle.skip -Dspotbugs.skip -Drat.skip -Dmaven.javadoc.skip
7676
- name: Pick ubuntu mirror for the docker image build

.github/workflows/codeql.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ jobs:
8383
uses: actions/setup-java@v4
8484
with:
8585
distribution: 'temurin'
86-
java-version: 11
86+
java-version: 17
8787

8888
- name: Validate pull request
8989
if: steps.check_changes.outputs.docs_only != 'true'

.github/workflows/website-deploy.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
uses: actions/setup-java@v4
4545
with:
4646
distribution: 'temurin'
47-
java-version: 11
47+
java-version: 17
4848

4949

5050
- name: Setup NodeJS

.github/workflows/website-pr-validation.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
uses: actions/setup-java@v4
4242
with:
4343
distribution: 'temurin'
44-
java-version: 11
44+
java-version: 17
4545

4646

4747
- name: Setup NodeJS

circe-checksum/pom.xml

+34
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@
6363
<plugin>
6464
<groupId>org.apache.maven.plugins</groupId>
6565
<artifactId>maven-compiler-plugin</artifactId>
66+
<configuration>
67+
<!-- keep Java 8 compatibility for circe-checksum -->
68+
<release>8</release>
69+
</configuration>
6670
</plugin>
6771
<plugin>
6872
<groupId>com.github.maven-nar</groupId>
@@ -111,6 +115,36 @@
111115
</execution>
112116
</executions>
113117
</plugin>
118+
<plugin>
119+
<groupId>org.apache.maven.plugins</groupId>
120+
<artifactId>maven-enforcer-plugin</artifactId>
121+
<version>${maven-enforcer-plugin.version}</version>
122+
<executions>
123+
<execution>
124+
<id>enforce-bytecode-version</id>
125+
<goals>
126+
<goal>enforce</goal>
127+
</goals>
128+
<configuration>
129+
<rules>
130+
<enforceBytecodeVersion>
131+
<maxJdkVersion>8</maxJdkVersion>
132+
<ignoredScopes>
133+
<ignoreScope>test</ignoreScope>
134+
</ignoredScopes>
135+
</enforceBytecodeVersion>
136+
</rules>
137+
</configuration>
138+
</execution>
139+
</executions>
140+
<dependencies>
141+
<dependency>
142+
<groupId>org.codehaus.mojo</groupId>
143+
<artifactId>extra-enforcer-rules</artifactId>
144+
<version>${extra-enforcer-rules.version}</version>
145+
</dependency>
146+
</dependencies>
147+
</plugin>
114148
</plugins>
115149
</build>
116150

cpu-affinity/pom.xml

+34
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@
4848
<plugin>
4949
<groupId>org.apache.maven.plugins</groupId>
5050
<artifactId>maven-compiler-plugin</artifactId>
51+
<configuration>
52+
<!-- keep Java 8 compatibility for cpu-affinity -->
53+
<release>8</release>
54+
</configuration>
5155
</plugin>
5256
<plugin>
5357
<groupId>com.github.maven-nar</groupId>
@@ -87,6 +91,36 @@
8791
</excludes>
8892
</configuration>
8993
</plugin>
94+
<plugin>
95+
<groupId>org.apache.maven.plugins</groupId>
96+
<artifactId>maven-enforcer-plugin</artifactId>
97+
<version>${maven-enforcer-plugin.version}</version>
98+
<executions>
99+
<execution>
100+
<id>enforce-bytecode-version</id>
101+
<goals>
102+
<goal>enforce</goal>
103+
</goals>
104+
<configuration>
105+
<rules>
106+
<enforceBytecodeVersion>
107+
<maxJdkVersion>8</maxJdkVersion>
108+
<ignoredScopes>
109+
<ignoreScope>test</ignoreScope>
110+
</ignoredScopes>
111+
</enforceBytecodeVersion>
112+
</rules>
113+
</configuration>
114+
</execution>
115+
</executions>
116+
<dependencies>
117+
<dependency>
118+
<groupId>org.codehaus.mojo</groupId>
119+
<artifactId>extra-enforcer-rules</artifactId>
120+
<version>${extra-enforcer-rules.version}</version>
121+
</dependency>
122+
</dependencies>
123+
</plugin>
90124
</plugins>
91125
</build>
92126

pom.xml

+49-20
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,8 @@
191191
<maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>
192192
<maven-compiler-plugin.version>3.12.1</maven-compiler-plugin.version>
193193
<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
194+
<maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
195+
<extra-enforcer-rules.version>1.8.0</extra-enforcer-rules.version>
194196
<dependency-check-maven.version>9.2.0</dependency-check-maven.version>
195197
<nar-maven-plugin.version>3.10.1</nar-maven-plugin.version>
196198
<os-maven-plugin.version>1.4.1.Final</os-maven-plugin.version>
@@ -883,6 +885,28 @@
883885
</extensions>
884886
<pluginManagement>
885887
<plugins>
888+
<plugin>
889+
<groupId>org.apache.maven.plugins</groupId>
890+
<artifactId>maven-compiler-plugin</artifactId>
891+
<version>${maven-compiler-plugin.version}</version>
892+
<configuration>
893+
<!-- Java 17 is the minimum required version for Bookkeeper -->
894+
<release>17</release>
895+
<encoding>UTF-8</encoding>
896+
<showDeprecation>true</showDeprecation>
897+
<showWarnings>true</showWarnings>
898+
<annotationProcessorPaths>
899+
<path>
900+
<groupId>org.projectlombok</groupId>
901+
<artifactId>lombok</artifactId>
902+
<version>${lombok.version}</version>
903+
</path>
904+
</annotationProcessorPaths>
905+
<compilerArgs>
906+
<arg>-parameters</arg>
907+
</compilerArgs>
908+
</configuration>
909+
</plugin>
886910
<plugin>
887911
<groupId>org.apache.maven.plugins</groupId>
888912
<artifactId>maven-checkstyle-plugin</artifactId>
@@ -940,6 +964,31 @@
940964
</plugins>
941965
</pluginManagement>
942966
<plugins>
967+
<plugin>
968+
<groupId>org.apache.maven.plugins</groupId>
969+
<artifactId>maven-enforcer-plugin</artifactId>
970+
<version>${maven-enforcer-plugin.version}</version>
971+
<executions>
972+
<execution>
973+
<id>enforce-maven</id>
974+
<goals>
975+
<goal>enforce</goal>
976+
</goals>
977+
<configuration>
978+
<rules>
979+
<requireJavaVersion>
980+
<version>[17,18),[21,22)</version>
981+
<message>Java 17 or Java 21 is required to build Bookkeeper.</message>
982+
</requireJavaVersion>
983+
<requireMavenVersion>
984+
<version>3.6.1</version>
985+
<message>Maven 3.6.1 or newer is required to build Bookkeeper.</message>
986+
</requireMavenVersion>
987+
</rules>
988+
</configuration>
989+
</execution>
990+
</executions>
991+
</plugin>
943992
<plugin>
944993
<groupId>com.github.spotbugs</groupId>
945994
<artifactId>spotbugs-maven-plugin</artifactId>
@@ -948,26 +997,6 @@
948997
<excludeFilterFile>${session.executionRootDirectory}/buildtools/src/main/resources/bookkeeper/findbugsExclude.xml</excludeFilterFile>
949998
</configuration>
950999
</plugin>
951-
<plugin>
952-
<groupId>org.apache.maven.plugins</groupId>
953-
<artifactId>maven-compiler-plugin</artifactId>
954-
<version>${maven-compiler-plugin.version}</version>
955-
<configuration>
956-
<encoding>UTF-8</encoding>
957-
<showDeprecation>true</showDeprecation>
958-
<showWarnings>true</showWarnings>
959-
<annotationProcessorPaths>
960-
<path>
961-
<groupId>org.projectlombok</groupId>
962-
<artifactId>lombok</artifactId>
963-
<version>${lombok.version}</version>
964-
</path>
965-
</annotationProcessorPaths>
966-
<compilerArgs>
967-
<arg>-parameters</arg>
968-
</compilerArgs>
969-
</configuration>
970-
</plugin>
9711000
<plugin>
9721001
<groupId>org.apache.maven.plugins</groupId>
9731002
<artifactId>maven-surefire-plugin</artifactId>

0 commit comments

Comments
 (0)