Java: Add test for selecting the highest compiler release in a pom

This commit is contained in:
idrissrio
2025-10-30 09:26:44 +01:00
parent 7dab2bef69
commit a82b5e7aa1
5 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>maven-execution-specific-java-version</artifactId>
<version>1.0-SNAPSHOT</version>
<name>maven-execution-specific-java-version</name>
<description>Test case: Project with execution-specific Java versions (Java 11 for main, Java 17 for test). Maven.java should detect the highest version (17) and use it for compilation.</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<executions>
<!-- Compilation for src/main/java -->
<execution>
<id>default-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<release>11</release> <!-- Java 11 for main -->
</configuration>
</execution>
<!-- Compilation for src/test/java -->
<execution>
<id>default-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<release>17</release> <!-- Java 17 for test -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,4 @@
pom.xml
src/main/java/com/example/App.java
src/test/java/com/example/AppTest.java
target/maven-archiver/pom.properties

View File

@@ -0,0 +1,12 @@
package com.example;
public class App {
public static void main(String[] args) {
var message = "Hello World! Running on Java " + System.getProperty("java.version");
System.out.println(message);
}
public String getMessage() {
return "Hello from App";
}
}

View File

@@ -0,0 +1,11 @@
package com.example;
public class AppTest {
public static void main(String[] args) {
var text = """
Hello
World
""";
System.out.println(text.strip());
}
}

View File

@@ -0,0 +1,2 @@
def test(codeql, java):
codeql.database.create()