Skip to content

Commit de3ec83

Browse files
authored
Merge pull request #466 from jamezp/java25
Java 25 has been released. Setup MR JAR and testing support.
2 parents 56d3fb8 + fea49e8 commit de3ec83

File tree

1 file changed

+191
-0
lines changed

1 file changed

+191
-0
lines changed

pom.xml

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1976,6 +1976,197 @@
19761976
</plugins>
19771977
</build>
19781978
</profile>
1979+
1980+
<!-- This profile is activated when Java 25 or later is used to build -->
1981+
<profile>
1982+
<id>java25-mr-build</id>
1983+
<activation>
1984+
<jdk>[25,)</jdk>
1985+
<file>
1986+
<exists>${basedir}/src/main/java25</exists>
1987+
</file>
1988+
</activation>
1989+
<build>
1990+
<plugins>
1991+
<plugin>
1992+
<groupId>org.apache.maven.plugins</groupId>
1993+
<artifactId>maven-compiler-plugin</artifactId>
1994+
<executions>
1995+
<execution>
1996+
<id>compile-java25</id>
1997+
<phase>compile</phase>
1998+
<goals>
1999+
<goal>compile</goal>
2000+
</goals>
2001+
<configuration>
2002+
<release>25</release>
2003+
<buildDirectory>${project.build.directory}</buildDirectory>
2004+
<compileSourceRoots>${project.basedir}/src/main/java25</compileSourceRoots>
2005+
<multiReleaseOutput>true</multiReleaseOutput>
2006+
</configuration>
2007+
</execution>
2008+
</executions>
2009+
</plugin>
2010+
<plugin>
2011+
<artifactId>maven-jar-plugin</artifactId>
2012+
<configuration>
2013+
<archive>
2014+
<manifestEntries>
2015+
<Multi-Release>true</Multi-Release>
2016+
</manifestEntries>
2017+
</archive>
2018+
</configuration>
2019+
</plugin>
2020+
</plugins>
2021+
</build>
2022+
</profile>
2023+
2024+
<!-- This profile is activated when Java 26 or later is used to test a project that supports Java 25 -->
2025+
<profile>
2026+
<id>java25-test</id>
2027+
<activation>
2028+
<jdk>[26,)</jdk>
2029+
<property>
2030+
<name>java25.home</name>
2031+
</property>
2032+
<file>
2033+
<exists>${basedir}/build-test-java25</exists>
2034+
</file>
2035+
</activation>
2036+
<build>
2037+
<plugins>
2038+
<plugin>
2039+
<groupId>org.apache.maven.plugins</groupId>
2040+
<artifactId>maven-surefire-plugin</artifactId>
2041+
<executions>
2042+
<execution>
2043+
<id>java25-test</id>
2044+
<phase>test</phase>
2045+
<goals>
2046+
<goal>test</goal>
2047+
</goals>
2048+
<configuration>
2049+
<jvm>${java25.home}/bin/java</jvm>
2050+
<classesDirectory>${project.build.directory}/classes/META-INF/versions/25
2051+
</classesDirectory>
2052+
<additionalClasspathElements>
2053+
<additionalClasspathElement>
2054+
${project.build.directory}/classes/META-INF/versions/24
2055+
</additionalClasspathElement>
2056+
<additionalClasspathElement>
2057+
${project.build.directory}/classes/META-INF/versions/23
2058+
</additionalClasspathElement>
2059+
<additionalClasspathElement>
2060+
${project.build.directory}/classes/META-INF/versions/22
2061+
</additionalClasspathElement>
2062+
<additionalClasspathElement>
2063+
${project.build.directory}/classes/META-INF/versions/21
2064+
</additionalClasspathElement>
2065+
<additionalClasspathElement>
2066+
${project.build.directory}/classes/META-INF/versions/20
2067+
</additionalClasspathElement>
2068+
<additionalClasspathElement>
2069+
${project.build.directory}/classes/META-INF/versions/19
2070+
</additionalClasspathElement>
2071+
<additionalClasspathElement>
2072+
${project.build.directory}/classes/META-INF/versions/18
2073+
</additionalClasspathElement>
2074+
<additionalClasspathElement>
2075+
${project.build.directory}/classes/META-INF/versions/17
2076+
</additionalClasspathElement>
2077+
<additionalClasspathElement>
2078+
${project.build.directory}/classes/META-INF/versions/16
2079+
</additionalClasspathElement>
2080+
<additionalClasspathElement>
2081+
${project.build.directory}/classes/META-INF/versions/15
2082+
</additionalClasspathElement>
2083+
<additionalClasspathElement>
2084+
${project.build.directory}/classes/META-INF/versions/14
2085+
</additionalClasspathElement>
2086+
<additionalClasspathElement>
2087+
${project.build.directory}/classes/META-INF/versions/13
2088+
</additionalClasspathElement>
2089+
<additionalClasspathElement>
2090+
${project.build.directory}/classes/META-INF/versions/12
2091+
</additionalClasspathElement>
2092+
<additionalClasspathElement>${project.build.outputDirectory}
2093+
</additionalClasspathElement>
2094+
</additionalClasspathElements>
2095+
</configuration>
2096+
</execution>
2097+
</executions>
2098+
</plugin>
2099+
</plugins>
2100+
</build>
2101+
</profile>
2102+
2103+
<!-- This profile is activated when the baseline JDK version running tests is Java 25 -->
2104+
<profile>
2105+
<id>java25-test-classpath</id>
2106+
<activation>
2107+
<jdk>[25,26)</jdk>
2108+
</activation>
2109+
<build>
2110+
<plugins>
2111+
<plugin>
2112+
<groupId>org.apache.maven.plugins</groupId>
2113+
<artifactId>maven-surefire-plugin</artifactId>
2114+
<executions>
2115+
<execution>
2116+
<id>default-test</id>
2117+
<configuration>
2118+
<classesDirectory>${project.build.outputDirectory}/META-INF/versions/25
2119+
</classesDirectory>
2120+
<additionalClasspathElements>
2121+
<additionalClasspathElement>
2122+
${project.build.directory}/classes/META-INF/versions/24
2123+
</additionalClasspathElement>
2124+
<additionalClasspathElement>
2125+
${project.build.directory}/classes/META-INF/versions/23
2126+
</additionalClasspathElement>
2127+
<additionalClasspathElement>
2128+
${project.build.directory}/classes/META-INF/versions/22
2129+
</additionalClasspathElement>
2130+
<additionalClasspathElement>
2131+
${project.build.directory}/classes/META-INF/versions/21
2132+
</additionalClasspathElement>
2133+
<additionalClasspathElement>
2134+
${project.build.directory}/classes/META-INF/versions/20
2135+
</additionalClasspathElement>
2136+
<additionalClasspathElement>
2137+
${project.build.directory}/classes/META-INF/versions/19
2138+
</additionalClasspathElement>
2139+
<additionalClasspathElement>
2140+
${project.build.directory}/classes/META-INF/versions/18
2141+
</additionalClasspathElement>
2142+
<additionalClasspathElement>
2143+
${project.build.directory}/classes/META-INF/versions/17
2144+
</additionalClasspathElement>
2145+
<additionalClasspathElement>
2146+
${project.build.directory}/classes/META-INF/versions/16
2147+
</additionalClasspathElement>
2148+
<additionalClasspathElement>
2149+
${project.build.directory}/classes/META-INF/versions/15
2150+
</additionalClasspathElement>
2151+
<additionalClasspathElement>
2152+
${project.build.directory}/classes/META-INF/versions/14
2153+
</additionalClasspathElement>
2154+
<additionalClasspathElement>
2155+
${project.build.directory}/classes/META-INF/versions/13
2156+
</additionalClasspathElement>
2157+
<additionalClasspathElement>
2158+
${project.build.directory}/classes/META-INF/versions/12
2159+
</additionalClasspathElement>
2160+
<additionalClasspathElement>${project.build.outputDirectory}
2161+
</additionalClasspathElement>
2162+
</additionalClasspathElements>
2163+
</configuration>
2164+
</execution>
2165+
</executions>
2166+
</plugin>
2167+
</plugins>
2168+
</build>
2169+
</profile>
19792170
</profiles>
19802171

19812172
<!--

0 commit comments

Comments
 (0)