Description
I built UTBotJava-2023.10 using Java 17, after finding that both Java 8 and Java 11 resulted in build failures.
I added the UTBotJava Maven plugin to an open-source project's pom.xml, then tried to use Maven to run the utbot:generateTestsAndSarifReport task. The target project is still based on Java 8, so I set JAVA_HOME to a Java 8 JDK when running Maven. The utbot:generateTestsAndSarifReport task failed, reporting java.lang.ClassNotFoundException: kotlin.jdk7.AutoCloseableKt. Using a Java 17 JDK when running Maven fails even earlier, as the target application does not compile under Java 17.
To Reproduce
Steps to reproduce the behavior:
-
Build UTBotJava using a Java 17 JDK. In my case, running on MacOS, I used:
JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home ./gradlew publishToMavenLocal
-
Check out nilzao/soapbox-race@5acac4da. Other revisions might exhibit the same problem, but that's the specific revision I used.
-
Modify soapbox-race's pom.xml by adding the following lines to the <plugins> section:
<plugin>
<groupId>org.utbot</groupId>
<artifactId>utbot-maven</artifactId>
<version>2023.10-SNAPSHOT</version>
</plugin>
-
Using a Java 8 JDK, run Maven with the utbot:generateTestsAndSarifReport target:
rm -rf target
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home mvn utbot:generateTestsAndSarifReport
-
Also try using the same Java 17 JDK that was used to compile UTBotJava:
rm -rf target
JAVA_HOME=/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home mvn utbot:generateTestsAndSarifReport
Expected behavior
Tests and a SARIF report should be generated.
Actual behavior
When running Maven using Java 8, failure due to java.lang.ClassNotFoundException: kotlin.jdk7.AutoCloseableKt.
When running Maven using Java 17, failure to compile the target application.
Visual proofs (screenshots, logs, images)
Environment
- Java 8 and/or Java 17 JDKs as mentioned above
- MacOS Ventura 13.4.1
- nilzao/soapbox-race@5acac4da as the target application and Git commit hash for which tests should be generated
- Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
Description
I built UTBotJava-2023.10 using Java 17, after finding that both Java 8 and Java 11 resulted in build failures.
I added the UTBotJava Maven plugin to an open-source project's
pom.xml, then tried to use Maven to run theutbot:generateTestsAndSarifReporttask. The target project is still based on Java 8, so I setJAVA_HOMEto a Java 8 JDK when running Maven. Theutbot:generateTestsAndSarifReporttask failed, reportingjava.lang.ClassNotFoundException: kotlin.jdk7.AutoCloseableKt. Using a Java 17 JDK when running Maven fails even earlier, as the target application does not compile under Java 17.To Reproduce
Steps to reproduce the behavior:
Build UTBotJava using a Java 17 JDK. In my case, running on MacOS, I used:
Check out nilzao/soapbox-race@5acac4da. Other revisions might exhibit the same problem, but that's the specific revision I used.
Modify
soapbox-race'spom.xmlby adding the following lines to the<plugins>section:Using a Java 8 JDK, run Maven with the
utbot:generateTestsAndSarifReporttarget:Also try using the same Java 17 JDK that was used to compile UTBotJava:
Expected behavior
Tests and a SARIF report should be generated.
Actual behavior
When running Maven using Java 8, failure due to
java.lang.ClassNotFoundException: kotlin.jdk7.AutoCloseableKt.When running Maven using Java 17, failure to compile the target application.
Visual proofs (screenshots, logs, images)
Environment