From 04e8c9aef90bd7dcc06224fe444d3f43681921e0 Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Thu, 8 Aug 2024 14:38:57 +0200 Subject: [PATCH] Nopol supports java 17 (#234) --- .github/workflows/core.yml | 2 +- README.md | 6 +++++- nopol/README.md | 4 ++-- nopol/pom.xml | 5 ++++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index 0ff1670d..61c13413 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -19,7 +19,7 @@ jobs: - name: Setup JDK uses: actions/setup-java@v2 with: - java-version: 11 + java-version: 17 distribution: 'adopt' - name: Set up Maven diff --git a/README.md b/README.md index cd3c924a..40e2ff17 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,11 @@ Others papers about Nopol: Nopol requires Java and an SMT solver installed on the machine (e.g. Z3) -Up to commit 80130c4c, Nopol required Java 8. Now it also works on Java 11, see https://github.com/SpoonLabs/nopol/pull/214 +Java version: + +* From 2013 to 2021, Nopol required Java 8. +* From Nov 19, 2021, Nopol works on Java 11, see https://github.com/SpoonLabs/nopol/pull/214 +* From August 8 2024, Nopol works with Java 18, see https://github.com/SpoonLabs/nopol/pull/234 0) NoPol uses the `com.sun.jdi` that lives in `tools.jar`. Identify where `tools.jar` is and add the depencency in `pom.xml` diff --git a/nopol/README.md b/nopol/README.md index 736334d0..ac66cb20 100644 --- a/nopol/README.md +++ b/nopol/README.md @@ -1,7 +1,7 @@ To run the tests: -* install a JDK, and ensure that maven uses it +* install a JDK, see expected version in ../README.md, and ensure that maven uses it * check that `z3` works well on the command line (`$ lib/z3/z3_for_linux``) (see TestUtility.java: private String solverPath = "lib/z3/z3_for_linux";)` -* first run `mvn test -DskipTests` in `../test-projects/`. This creates `../test-projects/target/test-classes` (but doesn(t run the tests since the examples are buggy) +* first run `mvn test -DskipTests` in `../test-projects/`. This creates `../test-projects/target/test-classes` (but doesn't run the tests since the examples are buggy) * then `mvn test` diff --git a/nopol/pom.xml b/nopol/pom.xml index 5c5a906c..99aff88d 100644 --- a/nopol/pom.xml +++ b/nopol/pom.xml @@ -267,7 +267,10 @@ maven-surefire-plugin 2.14.1 - -Xms2048m -Xmx2048m -cp ${java.home.openjdk11}/jmods/jdk.jdi.jmod + + + + -Xms2048m -Xmx2048m -cp ${java.home.openjdk11}/jmods/jdk.jdi.jmod --add-opens jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED --add-opens java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED