diff --git a/android-test/build.gradle b/android-test/build.gradle index 918790a6fbf4..283dd5b2bd2f 100644 --- a/android-test/build.gradle +++ b/android-test/build.gradle @@ -18,11 +18,11 @@ android { exclude("META-INF/DEPENDENCIES") } - compileSdkVersion 29 + compileSdk 34 defaultConfig { - minSdkVersion 21 - targetSdkVersion 29 + minSdk 21 + targetSdk 33 versionCode 1 versionName "1.0" @@ -34,24 +34,24 @@ android { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${versions.kotlin}" implementation "org.jetbrains.kotlin:kotlin-reflect:${versions.kotlin}" - implementation 'com.google.android.gms:play-services-safetynet:17.0.0' + implementation 'com.google.android.gms:play-services-safetynet:18.0.1' implementation project(':okhttp') - testImplementation 'junit:junit:4.13' + testImplementation 'junit:junit:4.13.2' androidTestImplementation(project(':okhttp-testing-support')) { exclude group: 'org.openjsse', module: 'openjsse' exclude group: 'org.conscrypt', module: 'conscrypt-openjdk-uber' exclude group: 'software.amazon.cryptools', module: 'AmazonCorrettoCryptoProvider' } - androidTestImplementation "org.bouncycastle:bcprov-jdk15on:${versions.bouncycastle}" - androidTestImplementation "org.bouncycastle:bctls-jdk15on:${versions.bouncycastle}" - androidTestImplementation "org.conscrypt:conscrypt-android:2.5.0" + androidTestImplementation "org.bouncycastle:bcprov-jdk15to18:${versions.bouncycastle}" + androidTestImplementation "org.bouncycastle:bctls-jdk15to18:${versions.bouncycastle}" + androidTestImplementation "org.conscrypt:conscrypt-android:2.5.2" androidTestImplementation project(':mockwebserver') androidTestImplementation project(':okhttp-tls') androidTestImplementation project(':okhttp-dnsoverhttps') androidTestImplementation project(':okhttp-logging-interceptor') - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' - androidTestImplementation 'org.apache.httpcomponents.client5:httpclient5:5.0' - androidTestImplementation 'com.squareup.moshi:moshi:1.9.2' - androidTestImplementation 'com.squareup.moshi:moshi-kotlin:1.9.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.5' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' + androidTestImplementation 'org.apache.httpcomponents.client5:httpclient5:5.2.1' + androidTestImplementation 'com.squareup.moshi:moshi:1.15.0' + androidTestImplementation 'com.squareup.moshi:moshi-kotlin:1.15.0' } diff --git a/build.gradle b/build.gradle index bed53add7ff0..d19aa0ca0bc0 100644 --- a/build.gradle +++ b/build.gradle @@ -2,25 +2,25 @@ import net.ltgt.gradle.errorprone.CheckSeverity buildscript { ext.versions = [ - 'animalSniffer': '1.18', - 'assertj': '3.15.0', - 'bouncycastle': '1.65', + 'animalSniffer': '1.23', + 'assertj': '3.24.2', + 'bouncycastle': '1.73', 'brotli': '0.1.2', 'checkstyle': '8.28', 'conscrypt': '2.5.2', - 'corretto': '1.3.1', + 'corretto': '2.1.0', 'findbugs': '3.0.2', - 'guava': '31.1-jre', + 'guava': '32.1.1-jre', 'java': '1.8', - 'jnrUnixsocket': '0.28', - 'jsoup': '1.13.1', - 'junit': '4.13', - 'kotlin': '1.6.20', - 'moshi': '1.13.0', - 'okio': '3.2.0', + 'jnrUnixsocket': '0.38.20', + 'jsoup': '1.16.1', + 'junit': '4.13.2', + 'kotlin': '1.8.21', + 'moshi': '1.15.0', + 'okio': '3.4.0', 'ktlint': '0.38.0', 'picocli': '4.2.0', - 'openjsse': '1.1.0' + 'openjsse': '1.1.12' ] ext.deps = [ @@ -28,9 +28,9 @@ buildscript { 'android': "org.robolectric:android-all:12.1-robolectric-8229987", 'animalSniffer': "org.codehaus.mojo:animal-sniffer-annotations:${versions.animalSniffer}", 'assertj': "org.assertj:assertj-core:${versions.assertj}", - 'bouncycastle': "org.bouncycastle:bcprov-jdk15on:${versions.bouncycastle}", - 'bouncycastlepkix': "org.bouncycastle:bcpkix-jdk15on:${versions.bouncycastle}", - 'bouncycastletls': "org.bouncycastle:bctls-jdk15on:${versions.bouncycastle}", + 'bouncycastle': "org.bouncycastle:bcprov-jdk15to18:${versions.bouncycastle}", + 'bouncycastlepkix': "org.bouncycastle:bcpkix-jdk15to18:${versions.bouncycastle}", + 'bouncycastletls': "org.bouncycastle:bctls-jdk15to18:${versions.bouncycastle}", 'brotli': "org.brotli:dec:${versions.brotli}", 'conscrypt': "org.conscrypt:conscrypt-openjdk-uber:${versions.conscrypt}", 'corretto': "software.amazon.cryptools:AmazonCorrettoCryptoProvider:${versions.corretto}:linux-x86_64", @@ -48,9 +48,9 @@ buildscript { ] dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.21" classpath "org.jetbrains.dokka:dokka-gradle-plugin:0.10.1" - classpath "com.android.tools.build:gradle:7.0.4" + classpath "com.android.tools.build:gradle:7.4.2" } repositories { @@ -61,9 +61,9 @@ buildscript { } plugins { - id "ru.vyarus.animalsniffer" version "1.5.0" - id "com.github.johnrengelman.shadow" version "5.2.0" - id "me.champeau.gradle.japicmp" version "0.2.9" + id "ru.vyarus.animalsniffer" version "1.7.1" + id "com.github.johnrengelman.shadow" version "7.1.2" + id "me.champeau.gradle.japicmp" version "0.4.0" id "com.diffplug.spotless" version "5.1.2" id "net.ltgt.errorprone" version "1.2.1" } diff --git a/gradle.properties b/gradle.properties index b9993d06d7a1..592f30b09fa0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,4 @@ org.gradle.jvmargs='-Dfile.encoding=UTF-8' android.enableJetifier=true android.useAndroidX=true +android.suppressUnsupportedCompileSdk=34 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a254e91..57240776c572 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Sat Jul 22 11:40:02 BST 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/mockwebserver/build.gradle b/mockwebserver/build.gradle index e344a2fb84a3..d0c33860b761 100644 --- a/mockwebserver/build.gradle +++ b/mockwebserver/build.gradle @@ -23,8 +23,8 @@ afterEvaluate { project -> } task japicmp(type: me.champeau.gradle.japicmp.JapicmpTask, dependsOn: 'jar') { - oldClasspath = files(baselineJar(project, baselineVersion)) - newClasspath = files(jar.archivePath) + oldClasspath.from(baselineJar(project, baselineVersion)) + newClasspath.from(files(jar.archivePath)) onlyBinaryIncompatibleModified = true failOnModification = true txtOutputFile = file("$buildDir/reports/japi.txt") diff --git a/okhttp-logging-interceptor/build.gradle b/okhttp-logging-interceptor/build.gradle index fae4fd07fb2a..9216988bacf8 100644 --- a/okhttp-logging-interceptor/build.gradle +++ b/okhttp-logging-interceptor/build.gradle @@ -26,8 +26,8 @@ afterEvaluate { project -> } task japicmp(type: me.champeau.gradle.japicmp.JapicmpTask, dependsOn: 'jar') { - oldClasspath = files(baselineJar(project, baselineVersion)) - newClasspath = files(jar.archivePath) + oldClasspath.from(baselineJar(project, baselineVersion)) + newClasspath.from(files(jar.archivePath)) onlyBinaryIncompatibleModified = true failOnModification = true txtOutputFile = file("$buildDir/reports/japi.txt") diff --git a/okhttp-sse/build.gradle b/okhttp-sse/build.gradle index 6b0916d8aa81..0d4a2c87a1e2 100644 --- a/okhttp-sse/build.gradle +++ b/okhttp-sse/build.gradle @@ -25,8 +25,8 @@ afterEvaluate { project -> } task japicmp(type: me.champeau.gradle.japicmp.JapicmpTask, dependsOn: 'jar') { - oldClasspath = files(baselineJar(project, baselineVersion)) - newClasspath = files(jar.archivePath) + oldClasspath.from(baselineJar(project, baselineVersion)) + newClasspath.from(files(jar.archivePath)) onlyBinaryIncompatibleModified = true failOnModification = true txtOutputFile = file("$buildDir/reports/japi.txt") diff --git a/okhttp-tls/build.gradle b/okhttp-tls/build.gradle index 47dbf62ea1d6..bc068220b0af 100644 --- a/okhttp-tls/build.gradle +++ b/okhttp-tls/build.gradle @@ -25,8 +25,8 @@ afterEvaluate { project -> } task japicmp(type: me.champeau.gradle.japicmp.JapicmpTask, dependsOn: 'jar') { - oldClasspath = files(baselineJar(project, baselineVersion)) - newClasspath = files(jar.archivePath) + oldClasspath.from(baselineJar(project, baselineVersion)) + newClasspath.from(files(jar.archivePath)) onlyBinaryIncompatibleModified = true failOnModification = true txtOutputFile = file("$buildDir/reports/japi.txt") diff --git a/okhttp-urlconnection/build.gradle b/okhttp-urlconnection/build.gradle index 16eeb1b70f17..819362029570 100644 --- a/okhttp-urlconnection/build.gradle +++ b/okhttp-urlconnection/build.gradle @@ -26,8 +26,8 @@ afterEvaluate { project -> } task japicmp(type: me.champeau.gradle.japicmp.JapicmpTask, dependsOn: 'jar') { - oldClasspath = files(baselineJar(project, baselineVersion)) - newClasspath = files(jar.archivePath) + oldClasspath.from(baselineJar(project, baselineVersion)) + newClasspath.from(files(jar.archivePath)) onlyBinaryIncompatibleModified = true failOnModification = true txtOutputFile = file("$buildDir/reports/japi.txt") diff --git a/okhttp/build.gradle b/okhttp/build.gradle index f42bf2c5c8ca..3080e2d89d7e 100644 --- a/okhttp/build.gradle +++ b/okhttp/build.gradle @@ -55,8 +55,8 @@ afterEvaluate { project -> } task japicmp(type: me.champeau.gradle.japicmp.JapicmpTask, dependsOn: 'jar') { - oldClasspath = files(baselineJar(project, baselineVersion)) - newClasspath = files(jar.archivePath) + oldClasspath.from(baselineJar(project, baselineVersion)) + newClasspath.from(files(jar.archivePath)) onlyBinaryIncompatibleModified = true failOnModification = true txtOutputFile = file("$buildDir/reports/japi.txt") diff --git a/okhttp/src/main/kotlin/okhttp3/internal/platform/android/AndroidCertificateChainCleaner.kt b/okhttp/src/main/kotlin/okhttp3/internal/platform/android/AndroidCertificateChainCleaner.kt index 0fc5a031bd34..48bb015127b0 100644 --- a/okhttp/src/main/kotlin/okhttp3/internal/platform/android/AndroidCertificateChainCleaner.kt +++ b/okhttp/src/main/kotlin/okhttp3/internal/platform/android/AndroidCertificateChainCleaner.kt @@ -30,6 +30,7 @@ import okhttp3.internal.tls.CertificateChainCleaner * Not used if X509TrustManager doesn't implement [X509TrustManager.checkServerTrusted] with * an additional host param. */ +@SuppressSignatureCheck internal class AndroidCertificateChainCleaner( private val trustManager: X509TrustManager, private val x509TrustManagerExtensions: X509TrustManagerExtensions