diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 5023bbb4..ddbe79af 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -50,7 +50,6 @@ jobs: JadxPlus JavaGenerator jOptions - JsEngine LogbackPlus MvelPlus SlackPlus diff --git a/CommonsLangPlus/build.gradle b/CommonsLangPlus/build.gradle index f247cd87..cd03cda2 100644 --- a/CommonsLangPlus/build.gradle +++ b/CommonsLangPlus/build.gradle @@ -22,10 +22,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/GitPlus/build.gradle b/GitPlus/build.gradle index fa2fcb99..b930a533 100644 --- a/GitPlus/build.gradle +++ b/GitPlus/build.gradle @@ -22,12 +22,15 @@ dependencies { implementation 'com.google.guava:guava:33.4.0-jre' implementation 'org.eclipse.jgit:org.eclipse.jgit:7.1.0.202411261347-r' + // JGit uses SLF4J 1.7. Keep its logs intentionally disabled without the + // missing StaticLoggerBinder startup warning. + runtimeOnly 'org.slf4j:slf4j-nop:1.7.36' + // JUnit 5 testing framework testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/JacksonPlus/build.gradle b/JacksonPlus/build.gradle index 2f2e1595..8e225331 100644 --- a/JacksonPlus/build.gradle +++ b/JacksonPlus/build.gradle @@ -21,10 +21,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/JadxPlus/build.gradle b/JadxPlus/build.gradle index 6f781b9b..c3488401 100644 --- a/JadxPlus/build.gradle +++ b/JadxPlus/build.gradle @@ -25,10 +25,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/JavaGenerator/build.gradle b/JavaGenerator/build.gradle index e96ca8f5..bf1de802 100644 --- a/JavaGenerator/build.gradle +++ b/JavaGenerator/build.gradle @@ -23,10 +23,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/SpecsUtils/build.gradle b/SpecsUtils/build.gradle index 97479b3f..488ab381 100644 --- a/SpecsUtils/build.gradle +++ b/SpecsUtils/build.gradle @@ -19,10 +19,9 @@ repositories { dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testImplementation 'org.junit-pioneer:junit-pioneer:2.3.0' // For test retries testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/SpecsUtils/src/pt/up/fe/specs/util/classmap/BiFunctionClassMap.java b/SpecsUtils/src/pt/up/fe/specs/util/classmap/BiFunctionClassMap.java index 2599f147..786a37f5 100644 --- a/SpecsUtils/src/pt/up/fe/specs/util/classmap/BiFunctionClassMap.java +++ b/SpecsUtils/src/pt/up/fe/specs/util/classmap/BiFunctionClassMap.java @@ -41,6 +41,7 @@ public BiFunctionClassMap() { this.classMapper = new ClassMapper(); } + @SuppressWarnings("unchecked") public BiFunctionClassMap(BiFunctionClassMap other) { this.map = new HashMap<>(); for (var keyPair : other.map.entrySet()) { diff --git a/SpecsUtils/src/pt/up/fe/specs/util/io/InputFiles.java b/SpecsUtils/src/pt/up/fe/specs/util/io/InputFiles.java index 4fb6e700..39d22b5f 100644 --- a/SpecsUtils/src/pt/up/fe/specs/util/io/InputFiles.java +++ b/SpecsUtils/src/pt/up/fe/specs/util/io/InputFiles.java @@ -16,6 +16,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import pt.up.fe.specs.util.SpecsIo; import pt.up.fe.specs.util.SpecsLogs; @@ -32,6 +33,13 @@ public record InputFiles(boolean isSingleFile, File inputPath, List inputF * @param inputPath can be the path to a single file or to a folder */ public static InputFiles newInstance(String inputPath) { + Objects.requireNonNull(inputPath, "inputPath"); + + if (inputPath.isEmpty()) { + SpecsLogs.warn("Input path is empty."); + return null; + } + File inputPathFile = new File(inputPath); if (!inputPathFile.exists()) { SpecsLogs.warn("Input path '" + inputPathFile + "' does not exist."); diff --git a/SymjaPlus/build.gradle b/SymjaPlus/build.gradle index 4fddbf75..822b4eb2 100644 --- a/SymjaPlus/build.gradle +++ b/SymjaPlus/build.gradle @@ -25,10 +25,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testImplementation 'org.junit-pioneer:junit-pioneer:2.3.0' testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/SymjaPlus/src/main/resources/log4j2.component.properties b/SymjaPlus/src/main/resources/log4j2.component.properties new file mode 100644 index 00000000..3e44e0d4 --- /dev/null +++ b/SymjaPlus/src/main/resources/log4j2.component.properties @@ -0,0 +1 @@ +log4j2.loggerContextFactory=org.apache.logging.log4j.simple.SimpleLoggerContextFactory diff --git a/XStreamPlus/build.gradle b/XStreamPlus/build.gradle index e32fd8a0..4d72fe39 100644 --- a/XStreamPlus/build.gradle +++ b/XStreamPlus/build.gradle @@ -23,10 +23,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/jOptions/build.gradle b/jOptions/build.gradle index 54b11f99..37d36fd1 100644 --- a/jOptions/build.gradle +++ b/jOptions/build.gradle @@ -27,10 +27,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testImplementation 'org.junit-pioneer:junit-pioneer:2.3.0' // For test retries testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' } diff --git a/tdrcLibrary/build.gradle b/tdrcLibrary/build.gradle index 9e5c16de..3496f064 100644 --- a/tdrcLibrary/build.gradle +++ b/tdrcLibrary/build.gradle @@ -23,10 +23,9 @@ dependencies { // Testing dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0' - testImplementation 'org.mockito:mockito-core:5.5.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.5.0' + testImplementation 'org.mockito:mockito-core:5.23.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0' testImplementation 'org.assertj:assertj-core:3.24.2' - testImplementation 'org.mockito:mockito-inline:5.2.0' // For static mocking testImplementation 'org.junit-pioneer:junit-pioneer:2.3.0' // For test retries testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.0' }