Skip to content

Commit 2840662

Browse files
committed
Java: Add test for Maven execution-specific Java versions
1 parent 275a9c8 commit 2840662

File tree

9 files changed

+136
-0
lines changed

9 files changed

+136
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<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">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<groupId>com.example</groupId>
7+
<artifactId>maven-execution-specific-java-version</artifactId>
8+
<version>1.0-SNAPSHOT</version>
9+
10+
<name>maven-execution-specific-java-version</name>
11+
<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>
12+
13+
<properties>
14+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15+
</properties>
16+
17+
<build>
18+
<plugins>
19+
<plugin>
20+
<groupId>org.apache.maven.plugins</groupId>
21+
<artifactId>maven-compiler-plugin</artifactId>
22+
<version>3.13.0</version>
23+
<executions>
24+
<!-- Compilation for src/main/java -->
25+
<execution>
26+
<id>default-compile</id>
27+
<phase>compile</phase>
28+
<goals>
29+
<goal>compile</goal>
30+
</goals>
31+
<configuration>
32+
<release>11</release> <!-- Java 11 for main -->
33+
</configuration>
34+
</execution>
35+
36+
<!-- Compilation for src/test/java -->
37+
<execution>
38+
<id>default-testCompile</id>
39+
<phase>test-compile</phase>
40+
<goals>
41+
<goal>testCompile</goal>
42+
</goals>
43+
<configuration>
44+
<release>17</release> <!-- Java 17 for test -->
45+
</configuration>
46+
</execution>
47+
</executions>
48+
</plugin>
49+
</plugins>
50+
</build>
51+
</project>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
pom.xml
2+
src/main/java/com/example/App.java
3+
src/test/java/com/example/AppTest.java
4+
target/maven-archiver/pom.properties
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.example;
2+
3+
public class App {
4+
public static void main(String[] args) {
5+
System.out.println("Hello World! Running on Java " + System.getProperty("java.version"));
6+
}
7+
8+
public String getMessage() {
9+
return "Hello from App";
10+
}
11+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.example;
2+
3+
public class AppTest {
4+
public static void main(String[] args) {
5+
App app = new App();
6+
String message = app.getMessage();
7+
8+
if ("Hello from App".equals(message)) {
9+
System.out.println("Test passed!");
10+
} else {
11+
System.err.println("Test failed!");
12+
System.exit(1);
13+
}
14+
}
15+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
def test(codeql, java):
2+
codeql.database.create()
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.example</groupId>
8+
<artifactId>plugin-requires-higher-java</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
<packaging>bundle</packaging>
11+
12+
<properties>
13+
<maven.compiler.source>11</maven.compiler.source>
14+
<maven.compiler.target>11</maven.compiler.target>
15+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16+
</properties>
17+
18+
<build>
19+
<plugins>
20+
<!-- maven-bundle-plugin 6.0.0+ requires Java 17 to run -->
21+
<plugin>
22+
<groupId>org.apache.felix</groupId>
23+
<artifactId>maven-bundle-plugin</artifactId>
24+
<version>6.0.0</version>
25+
<extensions>true</extensions>
26+
<configuration>
27+
<instructions>
28+
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
29+
<Bundle-Version>${project.version}</Bundle-Version>
30+
<Export-Package>com.example</Export-Package>
31+
</instructions>
32+
</configuration>
33+
</plugin>
34+
</plugins>
35+
</build>
36+
</project>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pom.xml
2+
src/main/java/com/example/App.java
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.example;
2+
3+
public class App {
4+
public String getMessage() {
5+
return "Hello from Java 11!";
6+
}
7+
8+
public static void main(String[] args) {
9+
App app = new App();
10+
System.out.println(app.getMessage());
11+
}
12+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
def test(codeql, java):
3+
codeql.database.create()

0 commit comments

Comments
 (0)