Kotlin gRPC implementation. HTTP/2 based RPC https://grpc.io/docs/languages/kotlin
Find a file
dependabot[bot] fffe0320d3 Bump androidx.compose.runtime:runtime from 1.9.0 to 1.9.4 in /examples
Bumps androidx.compose.runtime:runtime from 1.9.0 to 1.9.4.

---
updated-dependencies:
- dependency-name: androidx.compose.runtime:runtime
  dependency-version: 1.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-19 17:38:56 +01:00
.bcr Add a simple .bcr directory. 2025-08-31 00:25:28 +00:00
.github Bump actions/checkout from 5 to 6 2025-12-19 17:38:32 +01:00
bzl-examples/bzlmod Use Bazel 8.4.0. 2025-09-11 02:10:49 +00:00
compiler Reformat grpc-kotlin files. 2025-08-30 17:09:35 +00:00
examples Bump androidx.compose.runtime:runtime from 1.9.0 to 1.9.4 in /examples 2025-12-19 17:38:56 +01:00
gradle Upgrade Kotlin library to 2.2.20. 2025-09-11 21:25:06 +00:00
integration_testing Reformat grpc-kotlin files. 2025-08-30 17:09:35 +00:00
interop_testing Reformat grpc-kotlin files. 2025-08-30 17:09:35 +00:00
stub Reformat grpc-kotlin files. 2025-08-30 17:09:35 +00:00
tools/format Move formatter into a hidden subrepo accessible using local_path_override. 2025-09-11 02:10:49 +00:00
.bazelignore Move formatter into a hidden subrepo accessible using local_path_override. 2025-09-11 02:10:49 +00:00
.bazelrc #641 Upgrade deps/Kotlin/JVM/C++/Bazel/bzlmod. (#640) 2025-08-23 15:47:53 +02:00
.bazelversion Use Bazel 8.4.0. 2025-09-11 02:10:49 +00:00
.gitignore Move formatter to an independent folder. 2025-08-27 05:33:09 +02:00
BUILD.bazel Move formatter into a hidden subrepo accessible using local_path_override. 2025-09-11 02:10:49 +00:00
build.gradle.kts Upgrade Kotlin library to 2.2.20. 2025-09-11 21:25:06 +00:00
BUILDING.md prepare for 1.2.1 (#315) 2022-01-18 20:39:56 -07:00
CHANGELOG.md Update CHANGELOG.md for 1.4.2 (#623) 2024-07-30 13:22:42 -07:00
CONTRIBUTING.md Upgrade Kotlin library to 2.2.20. 2025-09-11 21:25:06 +00:00
gradle.properties Upgrade to Dokka 2. 2025-08-27 04:47:57 +02:00
gradlew bumps and switch to version catalogs - fixes #479 (#480) 2023-12-14 15:53:17 -07:00
gradlew.bat version bumps and related fixes 2023-09-25 11:59:19 -06:00
grpc_kotlin_maven_install.json Upgrade MODULE.bazel dependencies. 2025-08-27 02:20:32 +02:00
kt_jvm_grpc.bzl Reformat grpc-kotlin files. 2025-08-30 17:09:35 +00:00
LICENSE Adds / updates copyright headers 2020-02-24 16:43:12 -08:00
MAINTAINERS.md Add MAINTAINERS.md (#105) 2020-05-27 11:44:23 -04:00
MODULE.bazel Move formatter into a hidden subrepo accessible using local_path_override. 2025-09-11 02:10:49 +00:00
OWNERS fixes for gradle / open-sourcing 2020-02-28 16:31:43 -08:00
README.md Update doc on Publish to BCR. 2025-09-16 23:08:04 +00:00
REPO.bazel Update doc. 2025-09-11 22:10:40 +00:00
run-test-client.sh Make interop_testing a subproject. Added run scripts 2020-03-25 13:54:49 -04:00
run-test-server.sh Make interop_testing a subproject. Added run scripts 2020-03-25 13:54:49 -04:00
SECURITY.md Add security policy - fixes #227 (#228) 2021-03-09 14:25:38 -08:00
settings.gradle.kts Reformat grpc-kotlin files. 2025-08-30 17:09:35 +00:00

gRPC-Kotlin/JVM - An RPC library and framework

Overview

Gradle Build Status Bazel Build Status

grpc-kotlin-stub protoc-gen-grpc-kotlin

A Kotlin/JVM implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.

This repo includes the sources for the following:

For more information, see the following Kotlin/JVM pages from grpc.io:

How-to pages from this repo:

Note that official releases are published to Maven Central.

Developer

Bazel 8+

Add the following to your MODULE.bazel with a suitable version.

bazel_dep(name = "grpc_kotlin", version = "VERSION")

Bazel 7

In addition to bazel_dep, create a patch to remove ignore_directories from REPO.bazel (check content of the correct version) and apply it using:

bazel_dep(name = "grpc_kotlin", version = "VERSION")

single_version_override(
    module_name = "grpc_kotlin",
    version = "VERSION",
    patches = [":remove_ignore_directories.patch"],
    patch_strip = 1,
)

An example of remove_ignore_directories.patch:

--- a/REPO.bazel
+++ b/REPO.bazel
@@ -1 +0,0 @@
-ignore_directories(["**/bin"])

Breaking changes

bazel_dep(name = "grpc_kotlin", version = "0.0.0")

git_override(
    module_name = "grpc_kotlin",
    # For example: COMMIT=d37ed39b813107c54a0a9dbfdbfda81ccb8e4efb
    commit = "COMMIT",
    remote = "https://github.com/grpc/grpc-kotlin.git",
)

Legacy WORKSPACE

No longer supported.

Maintainer

Test

Please note that the max version of JAVA supported is 22. If you use a newer version, first set your PATH:

$ PATH="$YOUR_JDK_PATH/bin:$PATH"

Then run the following command to test your local changes before committing:

$ bazelisk clean && ./gradlew clean build --parallel && ./gradlew publishToMavenLocal && bazelisk test ... && cd bzl-examples/bzlmod && bazelisk clean && bazelisk test ... && cd -

Release: Sonatype

Make sure that Release Github Action succeeds and artifacts are uploaded to Maven.

If not, contact lowasser@.

Publish to BCR

Publishing to BCR requires manual operation on the PR and hence can't be fully automated in release.yaml:

  1. Run the Publish to BCR Github Action: publish.yaml.
  2. Check logs for link to the PR.
  3. Manually comment @bazel-io skip_check unstable_url and @bazel-io skip_check incompatible_flags on the generated PR.

After the PR is merged, make sure the new version is visible in BCR.