diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cdd6f37..2bc93d4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -6,11 +6,9 @@ on: jobs: ci: runs-on: ubuntu-latest - env: - GRADLE_OPTS: -Dorg.gradle.java.installations.fromEnv=JAVA_HOME_11_x64,JAVA_HOME_17_x64 steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -21,6 +19,7 @@ jobs: java-version: | 11 17 + 21 - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 7ea073e..998bd22 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Java @@ -17,6 +17,7 @@ jobs: java-version: | 11 17 + 21 - name: Setup Gradle uses: gradle/gradle-build-action@v2 diff --git a/build.gradle.kts b/build.gradle.kts index 5cacf62..e05f14f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,7 +29,7 @@ dependencies { // testing compatTestImplementation(gradleTestKit()) - compatTestImplementation("org.spockframework:spock-core:2.0-groovy-3.0") + compatTestImplementation("org.spockframework:spock-core:2.3-groovy-3.0") } tasks.named("jar") { @@ -59,6 +59,14 @@ stutter { compatibleRange("7.3") } } + val java21 by matrices.creating { + javaToolchain { + languageVersion.set(JavaLanguageVersion.of(21)) + } + gradleVersions { + compatibleRange("8.4") + } + } } tasks.named("check") { diff --git a/gradle.lockfile b/gradle.lockfile index 0ba5df9..cb65017 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -1,25 +1,17 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -cglib:cglib-nodep:3.3.0=compatTestCompileClasspath,compatTestRuntimeClasspath com.googlecode.javaewah:JavaEWAH:1.1.13=compatTestCompileClasspath,compatTestRuntimeClasspath,compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.11.0=compatTestCompileClasspath,compatTestRuntimeClasspath org.ajoberstar.grgit:grgit-core:5.2.0=compatTestCompileClasspath,compatTestRuntimeClasspath,compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.ajoberstar.grgit:grgit-gradle:5.2.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.apiguardian:apiguardian-api:1.1.0=compatTestCompileClasspath,compatTestRuntimeClasspath -org.assertj:assertj-core:3.16.1=compatTestCompileClasspath,compatTestRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=compatTestCompileClasspath org.codehaus.groovy:groovy:3.0.17=compatTestCompileClasspath,compatTestRuntimeClasspath,compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jgit:org.eclipse.jgit:6.5.0.202303070854-r=compatTestCompileClasspath,compatTestRuntimeClasspath,compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.hamcrest:hamcrest:2.2=compatTestCompileClasspath,compatTestRuntimeClasspath -org.jetbrains:annotations:20.1.0=compatTestCompileClasspath,compatTestRuntimeClasspath -org.junit.platform:junit-platform-commons:1.7.2=compatTestCompileClasspath,compatTestRuntimeClasspath -org.junit.platform:junit-platform-engine:1.7.2=compatTestCompileClasspath,compatTestRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.7.2=compatTestCompileClasspath,compatTestRuntimeClasspath -org.junit.platform:junit-platform-testkit:1.7.2=compatTestCompileClasspath,compatTestRuntimeClasspath -org.junit:junit-bom:5.7.2=compatTestCompileClasspath,compatTestRuntimeClasspath -org.objenesis:objenesis:3.2=compatTestCompileClasspath,compatTestRuntimeClasspath +org.junit.platform:junit-platform-commons:1.9.0=compatTestCompileClasspath,compatTestRuntimeClasspath +org.junit.platform:junit-platform-engine:1.9.0=compatTestCompileClasspath,compatTestRuntimeClasspath +org.junit:junit-bom:5.9.0=compatTestCompileClasspath,compatTestRuntimeClasspath org.opentest4j:opentest4j:1.2.0=compatTestCompileClasspath,compatTestRuntimeClasspath -org.ow2.asm:asm:9.1=compatTestCompileClasspath,compatTestRuntimeClasspath org.slf4j:slf4j-api:1.7.30=compatTestCompileClasspath,compatTestRuntimeClasspath,compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.spockframework:spock-core:2.0-groovy-3.0=compatTestCompileClasspath,compatTestRuntimeClasspath +org.spockframework:spock-core:2.3-groovy-3.0=compatTestCompileClasspath,compatTestRuntimeClasspath empty=annotationProcessor,compatTestAnnotationProcessor,signatures,testAnnotationProcessor diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index c1962a7..7f93135 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 37aef8d..3fa8f86 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index aeb74cb..1aa94a4 100755 --- a/gradlew +++ b/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -130,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -141,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -149,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -198,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/settings.gradle.kts b/settings.gradle.kts index 32bed36..e881127 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -5,7 +5,7 @@ pluginManagement { id("org.ajoberstar.reckon.settings") version "0.18.0" id("org.ajoberstar.stutter") version "0.7.2" - id("com.diffplug.spotless") version "6.18.0" + id("com.diffplug.spotless") version "6.22.0" } repositories { diff --git a/stutter.lockfile b/stutter.lockfile index 7f70800..6989ea6 100644 --- a/stutter.lockfile +++ b/stutter.lockfile @@ -1,3 +1,4 @@ # DO NOT MODIFY: Generated by Stutter plugin. -java11=7.0.2,7.6.1,8.0.2,8.1.1 -java17=7.3.3,7.6.1,8.0.2,8.1.1 +java11=7.0.2,7.6.3,8.0.2,8.4 +java17=7.3.3,7.6.3,8.0.2,8.4 +java21=8.4