Skip to content

Commit 6ccc491

Browse files
authored
Merge pull request #610 from dmlloyd/mr25
2 parents b16dde2 + 6c47a05 commit 6ccc491

File tree

3 files changed

+246
-11
lines changed

3 files changed

+246
-11
lines changed

.github/workflows/build.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ jobs:
3232
11
3333
17
3434
21
35+
25
3536
3637
- name: Maven
3738
run: |
@@ -49,7 +50,7 @@ jobs:
4950
cd smallrye-config
5051
mvn -B -ntp versions:update-parent -DallowSnapshots=true -N
5152
git diff pom.xml
52-
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}}
53+
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}} -Djava17.home=${{env.JAVA_HOME_17_X64}} -Djava21.home=${{env.JAVA_HOME_21_X64}}
5354
5455
- uses: actions/checkout@v5
5556
name: checkout smallrye-common
@@ -62,7 +63,7 @@ jobs:
6263
cd smallrye-common
6364
mvn -B -ntp versions:update-parent -DallowSnapshots=true -N
6465
git diff pom.xml
65-
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}}
66+
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}} -Djava17.home=${{env.JAVA_HOME_17_X64}} -Djava21.home=${{env.JAVA_HOME_21_X64}}
6667
6768
- uses: actions/checkout@v5
6869
name: checkout jandex
@@ -75,7 +76,7 @@ jobs:
7576
cd jandex
7677
mvn -B -ntp versions:update-parent -DallowSnapshots=true -N
7778
git diff pom.xml
78-
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}}
79+
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}} -Djava17.home=${{env.JAVA_HOME_17_X64}} -Djava21.home=${{env.JAVA_HOME_21_X64}}
7980
8081
- uses: actions/checkout@v5
8182
name: checkout smallrye-mutiny
@@ -88,4 +89,4 @@ jobs:
8889
cd smallrye-mutiny
8990
mvn -B -ntp versions:update-parent -DallowSnapshots=true -N
9091
git diff pom.xml
91-
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}}
92+
mvn -B -ntp install -Djava11.home=${{env.JAVA_HOME_11_X64}} -Djava17.home=${{env.JAVA_HOME_17_X64}} -Djava21.home=${{env.JAVA_HOME_21_X64}}

README.adoc

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,8 @@ In order to do so, it is expected that the following system property or properti
4343

4444
* `java11.home`: this property must be set to the location of a Java 11 JDK installation
4545
* `java17.home`: this property must be set to the location of a Java 17 JDK installation
46-
* `java18.home`: this property must be set to the location of a Java 18 JDK installation
47-
* `java19.home`: this property must be set to the location of a Java 19 JDK installation
48-
* `java20.home`: this property must be set to the location of a Java 20 JDK installation
4946
* `java21.home`: this property must be set to the location of a Java 21 JDK installation
47+
* `java25.home`: this property must be set to the location of a Java 21 JDK installation
5048

5149
In order to simplify development, it is recommended to project maintainers to set these
5250
properties in your personal Maven `settings.xml` file.
@@ -82,7 +80,7 @@ Choose your base layer version. This can be Java 11 or anything later. Configu
8280
</plugin>
8381
----
8482

85-
If the `build-release-11`, `build-release-17`, or `build-release-21` file is present in the root of your project, then this step is automatically done for you, for the corresponding version. Only one such file should be present.
83+
If the `build-release-11`, `build-release-17`, `build-release-21`, or `build-release-25` file is present in the root of your project, then this step is automatically done for you, for the corresponding version. Only one such file should be present.
8684

8785
[id='mr-jar-highest-layer']
8886
==== Step 2: Highest layer version
@@ -163,12 +161,11 @@ They do not need to have any content (i.e. they can be zero-sized).
163161
|build-release-11|Use the `<release>` option to set Java 11 for the base layer.|<<mr-jar-base-layer>>
164162
|build-release-17|Use the `<release>` option to set Java 17 for the base layer.|<<mr-jar-base-layer>>
165163
|build-release-21|Use the `<release>` option to set Java 21 for the base layer.|<<mr-jar-base-layer>>
164+
|build-release-25|Use the `<release>` option to set Java 21 for the base layer.|<<mr-jar-base-layer>>
166165
|build-test-java11|Run tests for Java 11 when `java11.home` is set and JDK 17 or later is used.|<<mr-jar-testing>>
167166
|build-test-java17|Run tests for Java 17 when `java17.home` is set and JDK 18 or later is used.|<<mr-jar-testing>>
168-
|build-test-java18|Run tests for Java 18 when `java18.home` is set and JDK 19 or later is used.|<<mr-jar-testing>>
169-
|build-test-java19|Run tests for Java 19 when `java19.home` is set and JDK 20 or later is used.|<<mr-jar-testing>>
170-
|build-test-java20|Run tests for Java 20 when `java20.home` is set and JDK 21 or later is used.|<<mr-jar-testing>>
171167
|build-test-java21|Run tests for Java 21 when `java21.home` is set and JDK 22 or later is used.|<<mr-jar-testing>>
168+
|build-test-java25|Run tests for Java 25 when `java25.home` is set and JDK 26 or later is used.|<<mr-jar-testing>>
172169
|===
173170

174171
[id='release-process']

pom.xml

Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,83 @@
681681
</build>
682682
</profile>
683683

684+
<profile>
685+
<id>compile-java25-release-flag</id>
686+
<activation>
687+
<file>
688+
<exists>${basedir}/build-release-25</exists>
689+
</file>
690+
<jdk>[25,)</jdk>
691+
</activation>
692+
<build>
693+
<plugins>
694+
<plugin>
695+
<groupId>org.apache.maven.plugins</groupId>
696+
<artifactId>maven-compiler-plugin</artifactId>
697+
<executions>
698+
<execution>
699+
<id>default-compile</id>
700+
<phase>compile</phase>
701+
<goals>
702+
<goal>compile</goal>
703+
</goals>
704+
<configuration>
705+
<release>25</release>
706+
</configuration>
707+
</execution>
708+
<execution>
709+
<id>default-testCompile</id>
710+
<phase>test-compile</phase>
711+
<goals>
712+
<goal>testCompile</goal>
713+
</goals>
714+
<configuration>
715+
<release>25</release>
716+
</configuration>
717+
</execution>
718+
</executions>
719+
</plugin>
720+
<plugin>
721+
<groupId>net.revelc.code</groupId>
722+
<artifactId>impsort-maven-plugin</artifactId>
723+
<executions>
724+
<execution>
725+
<id>sort-imports</id>
726+
<goals>
727+
<goal>sort</goal>
728+
</goals>
729+
<configuration>
730+
<compliance>25</compliance>
731+
</configuration>
732+
</execution>
733+
</executions>
734+
</plugin>
735+
<plugin>
736+
<groupId>net.revelc.code.formatter</groupId>
737+
<artifactId>formatter-maven-plugin</artifactId>
738+
<executions>
739+
<execution>
740+
<id>format-sources</id>
741+
<phase>process-sources</phase>
742+
<goals>
743+
<goal>format</goal>
744+
</goals>
745+
<configuration>
746+
<compilerCompliance>25</compilerCompliance>
747+
</configuration>
748+
</execution>
749+
</executions>
750+
</plugin>
751+
<plugin>
752+
<artifactId>maven-javadoc-plugin</artifactId>
753+
<configuration>
754+
<source>25</source>
755+
</configuration>
756+
</plugin>
757+
</plugins>
758+
</build>
759+
</profile>
760+
684761
<!-- -->
685762
<!-- Java 17 support -->
686763
<!-- -->
@@ -1745,6 +1822,166 @@
17451822
</plugins>
17461823
</build>
17471824
</profile>
1825+
1826+
<!-- -->
1827+
<!-- Java 24 support -->
1828+
<!-- -->
1829+
1830+
<!-- This profile is activated when the baseline JDK version running tests is Java 24 -->
1831+
<profile>
1832+
<id>java24-test-classpath</id>
1833+
<activation>
1834+
<jdk>[24,25)</jdk>
1835+
</activation>
1836+
<build>
1837+
<plugins>
1838+
<plugin>
1839+
<groupId>org.apache.maven.plugins</groupId>
1840+
<artifactId>maven-surefire-plugin</artifactId>
1841+
<executions>
1842+
<execution>
1843+
<id>default-test</id>
1844+
<configuration>
1845+
<classesDirectory>${project.build.outputDirectory}/META-INF/versions/24</classesDirectory>
1846+
<additionalClasspathElements>
1847+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/23</additionalClasspathElement>
1848+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/22</additionalClasspathElement>
1849+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/21</additionalClasspathElement>
1850+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/20</additionalClasspathElement>
1851+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/19</additionalClasspathElement>
1852+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/18</additionalClasspathElement>
1853+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/17</additionalClasspathElement>
1854+
<additionalClasspathElement>${project.build.outputDirectory}</additionalClasspathElement>
1855+
</additionalClasspathElements>
1856+
</configuration>
1857+
</execution>
1858+
</executions>
1859+
</plugin>
1860+
</plugins>
1861+
</build>
1862+
</profile>
1863+
1864+
<!-- This profile is activated when Java 24 or later is used to test a project that supports Java 23-->
1865+
<profile>
1866+
<id>java23-test</id>
1867+
<activation>
1868+
<jdk>[24,)</jdk>
1869+
<property>
1870+
<name>java23.home</name>
1871+
</property>
1872+
<file>
1873+
<exists>${basedir}/build-test-java23</exists>
1874+
</file>
1875+
</activation>
1876+
<build>
1877+
<plugins>
1878+
<plugin>
1879+
<groupId>org.apache.maven.plugins</groupId>
1880+
<artifactId>maven-surefire-plugin</artifactId>
1881+
<executions>
1882+
<execution>
1883+
<id>java23-test</id>
1884+
<phase>test</phase>
1885+
<goals>
1886+
<goal>test</goal>
1887+
</goals>
1888+
<configuration>
1889+
<jvm>${java23.home}/bin/java</jvm>
1890+
<classesDirectory>${project.build.outputDirectory}/META-INF/versions/23</classesDirectory>
1891+
<additionalClasspathElements>
1892+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/22</additionalClasspathElement>
1893+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/21</additionalClasspathElement>
1894+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/20</additionalClasspathElement>
1895+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/19</additionalClasspathElement>
1896+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/18</additionalClasspathElement>
1897+
<additionalClasspathElement>${project.build.outputDirectory}/META-INF/versions/17</additionalClasspathElement>
1898+
<additionalClasspathElement>${project.build.outputDirectory}</additionalClasspathElement>
1899+
</additionalClasspathElements>
1900+
</configuration>
1901+
</execution>
1902+
</executions>
1903+
</plugin>
1904+
</plugins>
1905+
</build>
1906+
</profile>
1907+
1908+
<!-- This profile is activated when Java 24 or later is used to build -->
1909+
<profile>
1910+
<id>java24-mr-build</id>
1911+
<activation>
1912+
<jdk>[24,)</jdk>
1913+
<file>
1914+
<exists>${basedir}/src/main/java24</exists>
1915+
</file>
1916+
</activation>
1917+
<build>
1918+
<plugins>
1919+
<plugin>
1920+
<groupId>org.apache.maven.plugins</groupId>
1921+
<artifactId>maven-compiler-plugin</artifactId>
1922+
<executions>
1923+
<execution>
1924+
<id>compile-java24</id>
1925+
<phase>compile</phase>
1926+
<goals>
1927+
<goal>compile</goal>
1928+
</goals>
1929+
<configuration>
1930+
<release>24</release>
1931+
<compileSourceRoots>
1932+
<compileSourceRoot>${project.basedir}/src/main/java24</compileSourceRoot>
1933+
</compileSourceRoots>
1934+
<multiReleaseOutput>true</multiReleaseOutput>
1935+
</configuration>
1936+
</execution>
1937+
</executions>
1938+
</plugin>
1939+
<plugin>
1940+
<artifactId>maven-jar-plugin</artifactId>
1941+
<configuration>
1942+
<archive>
1943+
<manifestEntries>
1944+
<Multi-Release>true</Multi-Release>
1945+
</manifestEntries>
1946+
</archive>
1947+
</configuration>
1948+
</plugin>
1949+
<plugin>
1950+
<groupId>net.revelc.code</groupId>
1951+
<artifactId>impsort-maven-plugin</artifactId>
1952+
<executions>
1953+
<execution>
1954+
<id>sort-imports-java24</id>
1955+
<goals>
1956+
<goal>sort</goal>
1957+
</goals>
1958+
<configuration>
1959+
<sourceDirectory>${project.basedir}/src/main/java24</sourceDirectory>
1960+
<compliance>24</compliance>
1961+
</configuration>
1962+
</execution>
1963+
</executions>
1964+
</plugin>
1965+
<plugin>
1966+
<groupId>net.revelc.code.formatter</groupId>
1967+
<artifactId>formatter-maven-plugin</artifactId>
1968+
<executions>
1969+
<execution>
1970+
<id>format-sources-java24</id>
1971+
<phase>process-sources</phase>
1972+
<goals>
1973+
<goal>format</goal>
1974+
</goals>
1975+
<configuration>
1976+
<sourceDirectory>${project.basedir}/src/main/java24</sourceDirectory>
1977+
<compilerCompliance>24</compilerCompliance>
1978+
</configuration>
1979+
</execution>
1980+
</executions>
1981+
</plugin>
1982+
</plugins>
1983+
</build>
1984+
</profile>
17481985
<!-- MR JAR support ends here-->
17491986
</profiles>
17501987
</project>

0 commit comments

Comments
 (0)