diff --git a/build.gradle.kts b/build.gradle.kts index 642e5da..dc76484 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,13 +6,10 @@ plugins { group = "org.gradlex" version = "1.7" -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} +tasks.withType().configureEach { options.release = 8 } dependencies { - testImplementation("org.spockframework:spock-core:2.1-groovy-3.0") + testImplementation("org.spockframework:spock-core:2.3-groovy-4.0") testImplementation("org.gradle.exemplar:samples-check:1.0.3") testRuntimeOnly("org.junit.vintage:junit-vintage-engine") } @@ -33,7 +30,7 @@ pluginPublishConventions { testing.suites.named("test") { useJUnitJupiter() - listOf("7.4", "7.6.5", "8.0.2").forEach { gradleVersionUnderTest -> + listOf("7.4", "7.6.5", "8.0.2", "8.14.2").forEach { gradleVersionUnderTest -> targets.register("test${gradleVersionUnderTest}") { testTask { group = LifecycleBasePlugin.VERIFICATION_GROUP diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55..8bdaf60 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3735f26..68a9cc4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=7197a12f450794931532469d4ff21a59ea2c1cd59a3ec3f89c035c3c420a6999 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip +distributionSha256Sum=5086034b0656a79fee07a04cfadc103984b075ac85d3a20748649671283be1bb +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-rc-1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 23d15a9..ef07e01 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/samples/use-only-java-module-testing-plugin/app/build.gradle.kts b/samples/use-only-java-module-testing-plugin/app/build.gradle.kts index d0ddfdd..55d3cae 100644 --- a/samples/use-only-java-module-testing-plugin/app/build.gradle.kts +++ b/samples/use-only-java-module-testing-plugin/app/build.gradle.kts @@ -18,3 +18,7 @@ dependencies { runtimeOnly("org.slf4j:slf4j-simple") } + +javaModuleTesting.whitebox(testing.suites["test"]) { + requires.add("org.junit.jupiter.api") +} diff --git a/samples/use-only-java-module-testing-plugin/build-logic/src/main/kotlin/org.my.gradle.java-module.gradle.kts b/samples/use-only-java-module-testing-plugin/build-logic/src/main/kotlin/org.my.gradle.java-module.gradle.kts index 5906760..74daa57 100644 --- a/samples/use-only-java-module-testing-plugin/build-logic/src/main/kotlin/org.my.gradle.java-module.gradle.kts +++ b/samples/use-only-java-module-testing-plugin/build-logic/src/main/kotlin/org.my.gradle.java-module.gradle.kts @@ -4,15 +4,11 @@ plugins { id("org.gradlex.java-module-testing") } -javaModuleTesting.whitebox( - testing.suites.getByName("test") { - useJUnitJupiter("") - targets.all { - testTask { jvmArgs("-Dorg.slf4j.simpleLogger.defaultLogLevel=error") } - } +testing.suites.getByName("test") { + useJUnitJupiter("") + targets.all { + testTask { jvmArgs("-Dorg.slf4j.simpleLogger.defaultLogLevel=error") } } -) { - requires.add("org.junit.jupiter.api") } testing.suites.create("integtest") { diff --git a/samples/use-only-java-module-testing-plugin/lib/src/integtest/java/org/my/lib/integtest/LibIntegTest.java b/samples/use-only-java-module-testing-plugin/lib/src/integtest/java/org/my/lib/integtest/LibIntegTest.java new file mode 100644 index 0000000..d0a44c0 --- /dev/null +++ b/samples/use-only-java-module-testing-plugin/lib/src/integtest/java/org/my/lib/integtest/LibIntegTest.java @@ -0,0 +1,19 @@ +package org.my.lib.integtest; + +import org.junit.jupiter.api.Test; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class LibIntegTest { + + @Test + public void libWorks() throws IOException { + // assertTrue(...); + } + +} \ No newline at end of file diff --git a/src/main/java/org/gradlex/javamodule/testing/JavaModuleTestingPlugin.java b/src/main/java/org/gradlex/javamodule/testing/JavaModuleTestingPlugin.java index 41bc88c..f64e2a7 100644 --- a/src/main/java/org/gradlex/javamodule/testing/JavaModuleTestingPlugin.java +++ b/src/main/java/org/gradlex/javamodule/testing/JavaModuleTestingPlugin.java @@ -16,14 +16,14 @@ package org.gradlex.javamodule.testing; -import org.gradle.api.NonNullApi; import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.plugins.JvmTestSuitePlugin; import org.gradle.util.GradleVersion; +import org.jspecify.annotations.NullMarked; @SuppressWarnings("unused") -@NonNullApi +@NullMarked public abstract class JavaModuleTestingPlugin implements Plugin { @Override diff --git a/src/main/java/org/gradlex/javamodule/testing/internal/actions/JavaCompileSetModulePathAction.java b/src/main/java/org/gradlex/javamodule/testing/internal/actions/JavaCompileSetModulePathAction.java index cadb54f..3ddc7f8 100644 --- a/src/main/java/org/gradlex/javamodule/testing/internal/actions/JavaCompileSetModulePathAction.java +++ b/src/main/java/org/gradlex/javamodule/testing/internal/actions/JavaCompileSetModulePathAction.java @@ -18,17 +18,17 @@ import org.gradle.api.Action; import org.gradle.api.Describable; -import org.gradle.api.NonNullApi; import org.gradle.api.Task; import org.gradle.api.file.FileCollection; import org.gradle.api.tasks.compile.JavaCompile; import org.gradle.internal.jvm.JavaModuleDetector; +import org.jspecify.annotations.NullMarked; import javax.inject.Inject; import java.util.ArrayList; import java.util.List; -@NonNullApi +@NullMarked public abstract class JavaCompileSetModulePathAction implements Action, Describable { @Inject diff --git a/src/test/groovy/org/gradlex/javamodule/testing/test/fixture/GradleBuild.groovy b/src/test/groovy/org/gradlex/javamodule/testing/test/fixture/GradleBuild.groovy index 4306d05..bda9d6e 100644 --- a/src/test/groovy/org/gradlex/javamodule/testing/test/fixture/GradleBuild.groovy +++ b/src/test/groovy/org/gradlex/javamodule/testing/test/fixture/GradleBuild.groovy @@ -59,6 +59,7 @@ class GradleBuild { tasks.test { testLogging.showStandardStreams = true } + tasks.withType().configureEach { options.release.set(11) } """ file("app/src/main/java/org/example/app/Main.java") << ''' package org.example.app; @@ -91,6 +92,7 @@ class GradleBuild { id("java-library") } group = "org.example" + tasks.withType().configureEach { options.release.set(11) } ''' }