Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ jobs:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Setup Java 11
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand All @@ -57,11 +57,11 @@ jobs:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Setup Java 8
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand All @@ -81,7 +81,7 @@ jobs:
fail-fast: false
matrix:
SCALA_VERSION: [2.12.20, 2.13.16, 3.3.6]
JAVA_VERSION: [8, 11, 17, 21]
JAVA_VERSION: [17, 21]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
Expand Down Expand Up @@ -126,11 +126,11 @@ jobs:
with:
fetch-depth: 0

- name: Setup Java 8
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 8
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down Expand Up @@ -158,11 +158,11 @@ jobs:
with:
fetch-depth: 0

- name: Setup Java 8
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 8
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down Expand Up @@ -217,11 +217,11 @@ jobs:
with:
fetch-depth: 0

- name: Setup Java 8
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 8
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down Expand Up @@ -266,11 +266,11 @@ jobs:
with:
fetch-depth: 0

- name: Setup Java 11
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/headers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ jobs:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup Java 8
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 8
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/link-validator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ jobs:
# fetch everything https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches
fetch-depth: 0

- name: Setup Java 11
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 11
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly-snapshot-dependency-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ jobs:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Setup Java 8
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 8
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ jobs:
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
fetch-depth: 0

- name: Setup Java 8
- name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
distribution: temurin
java-version: 8
java-version: 17

- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
Expand Down
6 changes: 0 additions & 6 deletions .scala-steward.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@ updates.pin = [
# https://github.com/akka/akka-grpc/issues/1506
{ groupId = "org.eclipse.jgit", artifactId = "org.eclipse.jgit", version = "5." },

# Pin logback to v1.3.x because v1.4.x needs JDK11
{ groupId = "ch.qos.logback", version="1.3." }

# Pin sbt-paradox to v0.9.x because 0.10.x needs JDK 11
{ groupId = "com.lightbend.paradox", artifactId = "sbt-paradox-project-info", version = "0.9." },
{ groupId = "com.lightbend.paradox", artifactId = "sbt-paradox", version = "0.9." }
# Pin sbt-java-formatter to v0.9.x because 0.10.x needs JDK 11
{ groupId = "com.lightbend.sbt", artifactId = "sbt-java-formatter", version = "0.9." }

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Pull Request validation states:

gRPC runs on HTTP/2 and connections commonly use HTTPS.

If you are running on JDK 8, you will need to use at least version 1.8.0u251 to make sure ALPN protocol negotiation is available.
Main branch now targets Java 17 as the minimum supported version.

# Pekko gRPC contributing guidelines

Expand Down
5 changes: 0 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,6 @@ The project is split up in a number of subprojects:
Additionally, 'plugin-tester-java' and 'plugin-tester-scala' contain an example
project in Java and Scala respectively, with both sbt and Gradle configurations.

## Compatibility & support

If used with JDK 8 prior to version 1.8.0_251 you must add an ALPN agent.
See the note in the [Akka HTTP docs](https://doc.akka.io/docs/akka-http/10.1/server-side/http2.html#application-layer-protocol-negotiation-alpn-).

## Building from Source

### Prerequisites
Expand Down
4 changes: 2 additions & 2 deletions docs/src/main/paradox/client/walkthrough.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ Maven
<artifactId>my-grpc-app</artifactId>
<version>0.1-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<pekko.grpc.version>$project.version$</pekko.grpc.version>
<grpc.version>$grpc.version$</grpc.version>
<project.encoding>UTF-8</project.encoding>
Expand Down
2 changes: 0 additions & 2 deletions docs/src/main/paradox/deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ Remember that the cleartext HTTP/2 "h2c with prior knowledge" protocol is not co

To deploy your gRPC service over a HTTPS connection you will have to use an @apidoc[HttpsConnectionContext] as described in the @extref[Pekko-HTTP documentation](pekko-http:server-side/server-https-support.html).

When using HTTPS and running your application on a JDK 8 prior to version 1.8.0_251 you also need to provide an external ALPN implementation. Follow the @extref[section on ALPN](pekko-http:server-side/http2.html#application-layer-protocol-negotiation-alpn-) in the Pekko-HTTP docs for more details.

## Example: Kubernetes

As an example, [pekko-grpc-sample-kubernetes-scala](https://pekko.apache.org/docs/pekko-samples/current/pekko-sample-grpc-kubernetes-scala/) is a complete project consisting of two applications (a gRPC service and an HTTP service that consumes the gRPC service) that can be deployed together in Kubernetes.
7 changes: 2 additions & 5 deletions docs/src/main/paradox/server/walkthrough.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ Maven
<artifactId>my-grpc-app</artifactId>
<version>0.1-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<pekko.grpc.version>$project.version$</pekko.grpc.version>
<grpc.version>$grpc.version$</grpc.version>
<project.encoding>UTF-8</project.encoding>
Expand Down Expand Up @@ -222,9 +222,6 @@ methods to create partial functions that are combined by `concatOrNotFound`.]

## Running the server

To run the server with HTTP/2 using HTTPS on a JVM prior to version 1.8.0_251, you will likely have to configure the Jetty ALPN
agent as described @extref[in the Pekko HTTP documentation](pekko-http:server-side/http2.html#application-layer-protocol-negotiation-alpn-). Later JVM versions have this support built-in.

See the detailed chapters on @ref[sbt](../buildtools/sbt.md#starting-your-pekko-grpc-server-from-sbt), @ref[Gradle](../buildtools/gradle.md#starting-your-pekko-grpc-server-from-gradle)
and @ref[Maven](../buildtools/maven.md#starting-your-pekko-grpc-server-from-maven) for details on adding the agent.

Expand Down
4 changes: 2 additions & 2 deletions plugin-tester-java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
<version>0.1-SNAPSHOT</version>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven-dependency-plugin.version>3.8.1</maven-dependency-plugin.version>
<maven-exec-plugin.version>3.5.1</maven-exec-plugin.version>
<pekko.http.version>1.2.0</pekko.http.version>
Expand Down
4 changes: 2 additions & 2 deletions plugin-tester-scala/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
<version>0.1-SNAPSHOT</version>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<pekko.version>1.1.5</pekko.version>
<pekko.http.version>1.2.0</pekko.http.version>
<grpc.version>1.75.0</grpc.version> <!-- checked synced by VersionSyncCheckPlugin -->
Expand Down
5 changes: 3 additions & 2 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ addSbtPlugin("com.github.pjfanning" % "sbt-source-dist" % "0.1.12")
addSbtPlugin("com.github.sbt" % "sbt-license-report" % "1.7.0")

addSbtPlugin("org.apache.pekko" % "pekko-sbt-paradox" % "1.0.1")
addSbtPlugin(("com.github.sbt" % "sbt-site-paradox" % "1.7.0").excludeAll(
"com.lightbend.paradox", "sbt-paradox"))
addSbtPlugin("com.github.sbt" % "sbt-site-paradox" % "1.7.0")
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox-theme" % "0.10.7")
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.7")

addSbtPlugin("com.github.sbt" % "sbt-unidoc" % "0.6.0")

Expand Down
2 changes: 1 addition & 1 deletion project/project-info.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
project-info {
version: "current"
shared-info {
jdk-versions: ["OpenJDK 8", "OpenJDK 11", "OpenJDK 17", "OpenJDK 21"]
jdk-versions: ["OpenJDK 17", "OpenJDK 21"]
snapshots: {
url: "https://repository.apache.org/content/groups/snapshots/org/apache/pekko/"
text: "Snapshots are available from Apache Snapshots Repository"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,7 @@ final class GrpcClientSettings private (
Option(sslProvider).fold(this)(sslProvider => copy(useTls = true, sslProvider = Some(sslProvider)))

/**
* Prefer using `withContextManager`: withSslContext forces the ssl-provider 'jdk', which is known
* not to work on JDK 1.8.0_252.
* Prefer using `withContextManager`: withSslContext forces the ssl-provider 'jdk'.
*/
def withSslContext(sslContext: SSLContext): GrpcClientSettings =
Option(sslContext).fold(this)(sslContext => copy(useTls = true, sslContext = Option(sslContext)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,7 @@ object NettyClientUtils {
import java.lang.reflect.Field

// This is a hack for situations where the SSLContext is given.
// This approach forces using SslProvider.JDK, which is known not to work
// on JDK 1.8.0_252
// This approach forces using SslProvider.JDK.

// Create a Netty JdkSslContext object with all the correct ciphers, protocol settings, etc initialized.
val nettySslContext: JdkSslContext =
Expand Down
Loading