diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64d18bb0f679..e6c78a777a4b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -341,7 +341,7 @@ jobs: with: arguments: test -Dtest.java.version=17 - testopenjdk19: + testopenjdk21: runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'jdkversions') || contains(github.event.pull_request.labels.*.name, 'renovate') @@ -362,7 +362,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 19 + java-version: 21 - name: Configure JDK uses: actions/setup-java@v3 @@ -373,7 +373,7 @@ jobs: - name: Run Checks uses: gradle/gradle-build-action@v2 with: - arguments: test -Dtest.java.version=19 + arguments: test -Dtest.java.version=21 testwindows: runs-on: windows-latest @@ -533,7 +533,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 20 + java-version: 21 - name: Configure JDK uses: actions/setup-java@v3 @@ -544,7 +544,7 @@ jobs: - name: Run Checks uses: gradle/gradle-build-action@v2 with: - arguments: test -Dokhttp.platform=loom -Dtest.java.version=20 + arguments: test -Dokhttp.platform=loom -Dtest.java.version=21 testandroidregression: diff --git a/build.gradle.kts b/build.gradle.kts index 08ed5fa5f7e7..781eea7553d9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,6 +8,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.jetbrains.dokka.gradle.DokkaTaskPartial import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import ru.vyarus.gradle.plugin.animalsniffer.AnimalSnifferExtension +import java.net.URI buildscript { dependencies { @@ -138,7 +139,7 @@ subprojects { } val platform = System.getProperty("okhttp.platform", "jdk9") - val testJavaVersion = System.getProperty("test.java.version", "17").toInt() + val testJavaVersion = System.getProperty("test.java.version", "21").toInt() val testRuntimeOnly: Configuration by configurations.getting dependencies { @@ -221,8 +222,8 @@ subprojects { includes.from(project.file("Module.md")) } externalDocumentationLink { - url.set(URL("https://square.github.io/okio/3.x/okio/")) - packageListUrl.set(URL("https://square.github.io/okio/3.x/okio/okio/package-list")) + url.set(URI.create("https://square.github.io/okio/3.x/okio/").toURL()) + packageListUrl.set(URI.create("https://square.github.io/okio/3.x/okio/okio/package-list").toURL()) } } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index afba109285af..d64cd4917707 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 c65af4920dca..e6aba2515d54 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ -#Sat Jul 01 11:08:54 BST 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 65dcd68d65c8..1aa94a426907 100755 --- a/gradlew +++ b/gradlew @@ -83,10 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -# 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"' +# 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 @@ -133,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. @@ -144,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 @@ -152,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 @@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# 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. + +# 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, 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/okhttp/src/test/java/okhttp3/HttpUrlTest.kt b/okhttp/src/test/java/okhttp3/HttpUrlTest.kt index 2538b9d1c257..8bc0ed5f1302 100644 --- a/okhttp/src/test/java/okhttp3/HttpUrlTest.kt +++ b/okhttp/src/test/java/okhttp3/HttpUrlTest.kt @@ -28,6 +28,7 @@ import kotlin.test.assertFailsWith import kotlin.test.fail import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.UrlComponentEncodingTester.Encoding +import okhttp3.testing.PlatformVersion @Suppress("HttpUrlsUsage") // Don't warn if we should be using https://. open class HttpUrlTest { @@ -560,7 +561,8 @@ open class HttpUrlTest { ']'.code ) .override( - Encoding.IDENTITY, + // java.net.URL got stricter + if (PlatformVersion.majorVersion >= 21) Encoding.SKIP else Encoding.IDENTITY, '\"'.code, '<'.code, '>'.code,