diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index edc83c64..bc6fcdad 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -51,6 +51,11 @@ updates:
- dependency-name: "org.eclipse.jetty.*:*"
- dependency-name: "org.springframework.boot:spring-boot-starter-parent"
- dependency-name: "org.springframework.boot:spring-boot-starter-web"
+ # The runtime jars use the pure Java okio 1.x with grpc-okhttp; okio 2+ is written in Kotlin
+ # and needs kotlin-stdlib. okio.version is also checked by the runtime_impl poms.
+ - dependency-name: "com.squareup.okio:okio"
+ versions:
+ - ">= 2.0.0"
- package-ecosystem: "github-actions"
directory: "/"
diff --git a/pom.xml b/pom.xml
index 09168b5a..16196b3a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,6 +69,8 @@
1.1.1
1.11.1
1.85.0
+
+ 1.17.6
12.0.40
12.1.14
2.0.20
@@ -771,6 +773,13 @@
javax.annotation-api
1.3.2
+
+
+ com.squareup.okio
+ okio
+ ${okio.version}
+
com.google.auth
google-auth-library-oauth2-http
diff --git a/renovate.json b/renovate.json
index 89cdfbe4..a89f6221 100644
--- a/renovate.json
+++ b/renovate.json
@@ -28,6 +28,12 @@
],
"enabled": false
},
+ {
+ "matchPackageNames": [
+ "com.squareup.okio:okio"
+ ],
+ "allowedVersions": "<2.0.0"
+ },
{
"major": {
"enabled": false
diff --git a/runtime/runtime_impl_jetty12/pom.xml b/runtime/runtime_impl_jetty12/pom.xml
index e4482f81..de6f99b5 100644
--- a/runtime/runtime_impl_jetty12/pom.xml
+++ b/runtime/runtime_impl_jetty12/pom.xml
@@ -58,6 +58,24 @@
appengine-apis
true
+
+
+ io.grpc
+ grpc-okhttp
+ true
+
+
+
+ com.squareup.okio
+ okio
+
+
+
+
+ com.squareup.okio
+ okio
+ true
+
com.google.appengine
runtime-util
@@ -317,6 +335,27 @@
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+
+
+ require-okio-1
+
+ enforce
+
+
+
+
+ okio.version
+ 1\.\d+(\.\d+)*
+ okio.version must stay 1.x: the runtime jar bundles grpc-okhttp with the pure Java okio 1.x, while okio 2+ is written in Kotlin and needs kotlin-stdlib, which this jar does not bundle.
+
+
+
+
+
+
org.apache.maven.plugins
maven-shade-plugin
@@ -335,12 +374,6 @@
-
- io.grpc:grpc-netty-shaded
-
- META-INF/native/**
-
-
*:*
@@ -515,7 +548,8 @@
io.grpc:grpc-auth
io.grpc:grpc-context
io.grpc:grpc-core
- io.grpc:grpc-netty-shaded
+ io.grpc:grpc-okhttp
+ com.squareup.okio:okio
io.grpc:grpc-protobuf
io.grpc:grpc-protobuf-lite
io.grpc:grpc-stub
diff --git a/runtime/runtime_impl_jetty121/pom.xml b/runtime/runtime_impl_jetty121/pom.xml
index c1fa8034..5162fffd 100644
--- a/runtime/runtime_impl_jetty121/pom.xml
+++ b/runtime/runtime_impl_jetty121/pom.xml
@@ -58,6 +58,24 @@
appengine-apis
true
+
+
+ io.grpc
+ grpc-okhttp
+ true
+
+
+
+ com.squareup.okio
+ okio
+
+
+
+
+ com.squareup.okio
+ okio
+ true
+
com.google.appengine
runtime-util
@@ -340,6 +358,27 @@
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+
+
+ require-okio-1
+
+ enforce
+
+
+
+
+ okio.version
+ 1\.\d+(\.\d+)*
+ okio.version must stay 1.x: the runtime jar bundles grpc-okhttp with the pure Java okio 1.x, while okio 2+ is written in Kotlin and needs kotlin-stdlib, which this jar does not bundle.
+
+
+
+
+
+
org.apache.maven.plugins
maven-shade-plugin
@@ -358,12 +397,6 @@
-
- io.grpc:grpc-netty-shaded
-
- META-INF/native/**
-
-
*:*
@@ -543,7 +576,8 @@
io.grpc:grpc-auth
io.grpc:grpc-context
io.grpc:grpc-core
- io.grpc:grpc-netty-shaded
+ io.grpc:grpc-okhttp
+ com.squareup.okio:okio
io.grpc:grpc-protobuf
io.grpc:grpc-protobuf-lite
io.grpc:grpc-stub