diff --git a/.bazelignore b/.bazelignore new file mode 100644 index 00000000..91df2425 --- /dev/null +++ b/.bazelignore @@ -0,0 +1 @@ +bzl-examples/ \ No newline at end of file diff --git a/.bazelrc b/.bazelrc index 554440cf..53485cb9 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1 +1 @@ -build --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 +build --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 diff --git a/.bazelversion b/.bazelversion index 91e4a9f2..e8be6840 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -6.3.2 +7.6.1 diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml index 4a143e5e..e1cf4576 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/bazel.yml @@ -4,6 +4,7 @@ on: branches: - master pull_request: + workflow_dispatch: jobs: bazel: runs-on: ubuntu-latest @@ -14,23 +15,38 @@ jobs: with: path: "/home/runner/.cache/bazel" key: bazel + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' - name: Install bazelisk run: | - curl -LO "https://github.com/bazelbuild/bazelisk/releases/download/v1.1.0/bazelisk-linux-amd64" + curl -LO "https://github.com/bazelbuild/bazelisk/releases/download/v1.26.0/bazelisk-linux-amd64" mkdir -p "${GITHUB_WORKSPACE}/bin/" mv bazelisk-linux-amd64 "${GITHUB_WORKSPACE}/bin/bazel" chmod +x "${GITHUB_WORKSPACE}/bin/bazel" + - name: Build + uses: nick-invision/retry@v3 + with: + timeout_minutes: 10 + max_attempts: 3 + command: | + cd "${GITHUB_WORKSPACE}" + "${GITHUB_WORKSPACE}/bin/bazel" build //... - name: Test uses: nick-invision/retry@v3 with: timeout_minutes: 10 max_attempts: 3 command: | + cd "${GITHUB_WORKSPACE}" "${GITHUB_WORKSPACE}/bin/bazel" test //... - - name: Build + - name: Test bzl-examples/bzlmod uses: nick-invision/retry@v3 with: timeout_minutes: 10 max_attempts: 3 command: | - "${GITHUB_WORKSPACE}/bin/bazel" build //... + cd "${GITHUB_WORKSPACE}/bzl-examples/bzlmod" + "${GITHUB_WORKSPACE}/bin/bazel" test //... diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 3ee9708c..b6cbbad9 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -1,31 +1,34 @@ +# Local: +# $ act -P ubuntu-latest=catthehacker/ubuntu:act-latest -W .github/workflows/gradle.yml name: Gradle Build on: push: branches: - master pull_request: - + workflow_dispatch: jobs: gradle: strategy: matrix: - os: [ubuntu-latest, macos-12] + os: [ubuntu-latest, macos-13] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 with: + java-version: '17' distribution: 'temurin' - java-version: '11' - cache: 'gradle' - - uses: gradle/gradle-build-action@v3 + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v3 - name: Test on Mac - if: matrix.os == 'macos-12' + if: matrix.os == 'macos-13' run: | - brew install docker + brew install docker colima colima start --network-address export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock export TESTCONTAINERS_HOST_OVERRIDE=$(colima ls -j | jq -r '.address') diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 22719d48..6518b419 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,14 +10,14 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 with: - distribution: 'adopt' - java-version: '11' - cache: 'gradle' + java-version: '17' + distribution: 'temurin' - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Set up Gradle + uses: gradle/actions/setup-gradle@v3 - name: release env: diff --git a/.gitignore b/.gitignore index 70007a4a..ed9adfd4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ build local.properties *.iml /bazel-* +MODULE.bazel.lock +*/bin/* \ No newline at end of file diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 00000000..69368deb --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,34 @@ +module( + name = "com_github_grpc_grpc_kotlin", + version = "2.1.0", +) + +bazel_dep(name = "protobuf", repo_name = "com_google_protobuf", version = "30.2") +bazel_dep(name = "rules_kotlin", repo_name = "io_bazel_rules_kotlin", version = "2.1.3") +bazel_dep(name = "rules_java", version = "8.11.0") +bazel_dep(name = "rules_jvm_external", version = "6.7") +bazel_dep(name = "grpc-java", repo_name = "io_grpc_grpc_java", version = "1.71.0") + +grpc_kotlin_maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +grpc_kotlin_maven.install( + name = "grpc_kotlin_maven", + # Rerun whenever adding new artifacts. + # $ REPIN=1 bazelisk run @grpc_kotlin_maven//:pin + artifacts = [ + "com.google.jimfs:jimfs:1.3.0", + "com.google.truth:truth:1.4.2", + "com.google.truth.extensions:truth-proto-extension:1.4.2", + "com.google.protobuf:protobuf-java:4.30.2", + "com.google.protobuf:protobuf-kotlin:4.30.2", + "com.google.guava:guava:33.3.1-android", + "com.squareup:kotlinpoet:1.14.2", + "junit:junit:4.13.2", + "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1", + ], + fetch_sources = False, + lock_file = "//:grpc_kotlin_maven_install.json", + generate_compat_repositories = True, + strict_visibility = True, +) +use_repo(grpc_kotlin_maven, "grpc_kotlin_maven") diff --git a/WORKSPACE b/WORKSPACE deleted file mode 100644 index 03aa8a49..00000000 --- a/WORKSPACE +++ /dev/null @@ -1,70 +0,0 @@ -workspace(name = "com_github_grpc_grpc_kotlin") - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "rules_jvm_external", - sha256 = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca", - strip_prefix = "rules_jvm_external-4.2", - url = "https://github.com/bazelbuild/rules_jvm_external/archive/4.2.zip", -) - -load("@rules_jvm_external//:defs.bzl", "maven_install") - -# Repositories -load( - "//:repositories.bzl", - "IO_GRPC_GRPC_KOTLIN_ARTIFACTS", - "IO_GRPC_GRPC_KOTLIN_OVERRIDE_TARGETS", - "grpc_kt_repositories", - "io_grpc_grpc_java", -) - -io_grpc_grpc_java() - -load( - "@io_grpc_grpc_java//:repositories.bzl", - "IO_GRPC_GRPC_JAVA_ARTIFACTS", - "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS", - "grpc_java_repositories", -) - -# Maven -maven_install( - artifacts = [ - "com.google.jimfs:jimfs:1.3.0", - "com.google.truth.extensions:truth-proto-extension:1.1.3", - "com.google.protobuf:protobuf-kotlin:3.24.1", - ] + IO_GRPC_GRPC_KOTLIN_ARTIFACTS + IO_GRPC_GRPC_JAVA_ARTIFACTS, - override_targets = dict( - IO_GRPC_GRPC_KOTLIN_OVERRIDE_TARGETS.items() + - IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS.items(), - ), - repositories = [ - "https://repo.maven.apache.org/maven2/", - ], - generate_compat_repositories = True, -) - -load("@maven//:compat.bzl", "compat_repositories") - -compat_repositories() - -# gRPC -grpc_kt_repositories() - -grpc_java_repositories() - -# Protocol Buffers -load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") - -protobuf_deps() - -# Kotlin -load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories") - -kotlin_repositories() - -load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_register_toolchains") - -kt_register_toolchains() diff --git a/build.gradle.kts b/build.gradle.kts index 07656a08..494a09fb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,14 +40,14 @@ subprojects { version = rootProject.version tasks.withType { - sourceCompatibility = JavaVersion.VERSION_1_8.toString() - targetCompatibility = JavaVersion.VERSION_1_8.toString() + sourceCompatibility = JavaVersion.VERSION_17.toString() + targetCompatibility = JavaVersion.VERSION_17.toString() } tasks.withType { kotlinOptions { freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() } } diff --git a/bzl-examples/bzlmod/.bazelrc b/bzl-examples/bzlmod/.bazelrc new file mode 100644 index 00000000..53485cb9 --- /dev/null +++ b/bzl-examples/bzlmod/.bazelrc @@ -0,0 +1 @@ +build --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 diff --git a/bzl-examples/bzlmod/.bazelversion b/bzl-examples/bzlmod/.bazelversion new file mode 100644 index 00000000..e8be6840 --- /dev/null +++ b/bzl-examples/bzlmod/.bazelversion @@ -0,0 +1 @@ +7.6.1 diff --git a/bzl-examples/bzlmod/.gitignore b/bzl-examples/bzlmod/.gitignore new file mode 100644 index 00000000..ddaad95c --- /dev/null +++ b/bzl-examples/bzlmod/.gitignore @@ -0,0 +1,2 @@ +bazel-* +MODULE.bazel.lock \ No newline at end of file diff --git a/bzl-examples/bzlmod/BUILD.bazel b/bzl-examples/bzlmod/BUILD.bazel new file mode 100644 index 00000000..b123e1fd --- /dev/null +++ b/bzl-examples/bzlmod/BUILD.bazel @@ -0,0 +1,16 @@ +load("@aspect_rules_lint//format:defs.bzl", "format_multirun") +load("@rules_java//java:defs.bzl", "java_binary") + +java_binary( + name = "ktfmt", + main_class = "com.facebook.ktfmt.cli.Main", + runtime_deps = ["@ktfmt//jar"], +) + +format_multirun( + name = "format", + kotlin = ":ktfmt", + protocol_buffer = "@rules_buf_toolchains//:buf", + starlark = "@buildifier_prebuilt//:buildifier", + visibility = ["//visibility:public"], +) diff --git a/bzl-examples/bzlmod/MODULE.bazel b/bzl-examples/bzlmod/MODULE.bazel new file mode 100644 index 00000000..a9658a99 --- /dev/null +++ b/bzl-examples/bzlmod/MODULE.bazel @@ -0,0 +1,41 @@ +module( + name = "bzlmod", + version = "1.0", +) + +bazel_dep(name = "protobuf", version = "30.2") +bazel_dep(name = "rules_kotlin", version = "2.1.3") +bazel_dep(name = "com_github_grpc_grpc_kotlin", version = "0.0.0") +bazel_dep(name = "rules_jvm_external", version = "6.7") +bazel_dep(name = "aspect_rules_lint", version = "1.3.4") +bazel_dep(name = "rules_java", version = "8.11.0") +bazel_dep(name = "buildifier_prebuilt", version = "8.0.3") +bazel_dep(name = "rules_buf", version = "0.3.0") + +local_path_override( + module_name = "com_github_grpc_grpc_kotlin", + path = "../../", +) + +maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") +maven.install( + # Rerun whenever adding new artifacts. + # $ REPIN=1 bazelisk run @maven//:pin + artifacts = [ + "com.google.truth:truth:1.4.2", + "junit:junit:4.13.2", + "com.google.truth.extensions:truth-proto-extension:1.4.4", + "io.grpc:grpc-testing:1.71.0", + ], + fetch_sources = False, + generate_compat_repositories = True, + lock_file = "//:maven_install.json", + strict_visibility = True, +) +use_repo(maven, "maven", "grpc_kotlin_maven") + +install_ktfmt = use_extension("//:extensions.bzl", "install_ktfmt") +use_repo(install_ktfmt, "ktfmt") + +buf = use_extension("@rules_buf//buf:extensions.bzl", "buf") +use_repo(buf, "rules_buf_toolchains") diff --git a/bzl-examples/bzlmod/extensions.bzl b/bzl-examples/bzlmod/extensions.bzl new file mode 100644 index 00000000..ff7435fc --- /dev/null +++ b/bzl-examples/bzlmod/extensions.bzl @@ -0,0 +1,6 @@ +load("@aspect_rules_lint//format:repositories.bzl", "fetch_ktfmt") + +def _install_ktfmt_impl(module_ctx): + fetch_ktfmt() + +install_ktfmt = module_extension(_install_ktfmt_impl) diff --git a/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/BUILD.bazel b/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/BUILD.bazel new file mode 100644 index 00000000..435ea935 --- /dev/null +++ b/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/BUILD.bazel @@ -0,0 +1,31 @@ +load("@com_github_grpc_grpc_kotlin//:kt_jvm_grpc.bzl", "kt_jvm_grpc_library", "kt_jvm_proto_library") +load("@protobuf//bazel:proto_library.bzl", "proto_library") +load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library") + +package(default_visibility = ["//javatests/io/grpc/examples/bzlmod:__subpackages__"]) + +proto_library( + name = "fibonacci_proto", + srcs = ["fibonacci.proto"], + deps = [], +) + +kt_jvm_proto_library( + name = "fibonacci_kt_proto", + deps = [":fibonacci_proto"], +) + +kt_jvm_grpc_library( + name = "fibonacci_kt_grpc", + srcs = [":fibonacci_proto"], + deps = [":fibonacci_kt_proto"], +) + +kt_jvm_library( + name = "fibonacci", + srcs = ["Fibonacci.kt"], + deps = [ + ":fibonacci_kt_grpc", + ":fibonacci_kt_proto", + ], +) diff --git a/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/Fibonacci.kt b/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/Fibonacci.kt new file mode 100644 index 00000000..390d88ca --- /dev/null +++ b/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/Fibonacci.kt @@ -0,0 +1,19 @@ +package io.grpc.examples.bzlmod + +/** A simple implementation of a Fibonacci service. */ +class Fibonacci : FibonacciServiceGrpcKt.FibonacciServiceCoroutineImplBase() { + override suspend fun query(request: QueryRequest): QueryResponse { + if (request.nth <= 1) { + return queryResponse { nthFibonacci = request.nth } + } + var prv = 0L + var cur = 1L + var nxt = 1L + for (i in 2..request.nth) { + prv = cur + cur = nxt + nxt = (prv + cur) % request.mod + } + return queryResponse { nthFibonacci = cur } + } +} diff --git a/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/fibonacci.proto b/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/fibonacci.proto new file mode 100644 index 00000000..753d880a --- /dev/null +++ b/bzl-examples/bzlmod/java/io/grpc/examples/bzlmod/fibonacci.proto @@ -0,0 +1,20 @@ +syntax = "proto3"; + +package io.grpc.examples.bzlmod; + +option java_multiple_files = true; +option java_outer_classname = "FibonacciProtos"; +option java_package = "io.grpc.examples.bzlmod"; + +message QueryRequest { + int64 nth = 1; + int64 mod = 2; +} + +message QueryResponse { + int64 nth_fibonacci = 1; +} + +service FibonacciService { + rpc Query(QueryRequest) returns (QueryResponse); +} diff --git a/bzl-examples/bzlmod/javatests/io/grpc/examples/bzlmod/BUILD.bazel b/bzl-examples/bzlmod/javatests/io/grpc/examples/bzlmod/BUILD.bazel new file mode 100644 index 00000000..ad684aa1 --- /dev/null +++ b/bzl-examples/bzlmod/javatests/io/grpc/examples/bzlmod/BUILD.bazel @@ -0,0 +1,16 @@ +load("@rules_jvm_external//:defs.bzl", "artifact") +load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_test") + +kt_jvm_test( + name = "FibonacciTest", + srcs = ["FibonacciTest.kt"], + deps = [ + "//java/io/grpc/examples/bzlmod:fibonacci", + "//java/io/grpc/examples/bzlmod:fibonacci_kt_grpc", + "//java/io/grpc/examples/bzlmod:fibonacci_kt_proto", + artifact("com.google.truth:truth"), + artifact("com.google.truth.extensions:truth-proto-extension"), + artifact("junit:junit"), + artifact("io.grpc:grpc-testing"), + ], +) diff --git a/bzl-examples/bzlmod/javatests/io/grpc/examples/bzlmod/FibonacciTest.kt b/bzl-examples/bzlmod/javatests/io/grpc/examples/bzlmod/FibonacciTest.kt new file mode 100644 index 00000000..4582db61 --- /dev/null +++ b/bzl-examples/bzlmod/javatests/io/grpc/examples/bzlmod/FibonacciTest.kt @@ -0,0 +1,50 @@ +package io.grpc.examples.bzlmod + +import com.google.common.truth.Truth.assertThat +import com.google.common.truth.extensions.proto.ProtoTruth.assertThat +import io.grpc.inprocess.InProcessChannelBuilder +import io.grpc.inprocess.InProcessServerBuilder +import io.grpc.testing.GrpcCleanupRule +import kotlinx.coroutines.runBlocking +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +@RunWith(JUnit4::class) +class FibonacciTest { + @get:Rule val grpcCleanup = GrpcCleanupRule() + + private lateinit var stub: FibonacciServiceGrpcKt.FibonacciServiceCoroutineStub + + @Before + fun setUp() { + val serverName = InProcessServerBuilder.generateName() + + grpcCleanup.register( + InProcessServerBuilder.forName(serverName) + .directExecutor() + .addService(Fibonacci()) + .build() + .start()) + + stub = + FibonacciServiceGrpcKt.FibonacciServiceCoroutineStub( + grpcCleanup.register( + InProcessChannelBuilder.forName(serverName).directExecutor().build())) + } + + @Test + fun query_succeeds() { + runBlocking { + val response = + stub.query( + queryRequest { + nth = 20 + mod = 1000000007 + }) + assertThat(response).isEqualTo(queryResponse { nthFibonacci = 6765 }) + } + } +} diff --git a/bzl-examples/bzlmod/maven_install.json b/bzl-examples/bzlmod/maven_install.json new file mode 100644 index 00000000..21908628 --- /dev/null +++ b/bzl-examples/bzlmod/maven_install.json @@ -0,0 +1,1554 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": -1909419093, + "__RESOLVED_ARTIFACTS_HASH": -8717206, + "conflict_resolution": { + "com.google.guava:failureaccess:1.0.1": "com.google.guava:failureaccess:1.0.2", + "com.google.truth.extensions:truth-proto-extension:1.4.2": "com.google.truth.extensions:truth-proto-extension:1.4.4", + "com.google.truth:truth:1.4.2": "com.google.truth:truth:1.4.4", + "io.opencensus:opencensus-api:0.31.0": "io.opencensus:opencensus-api:0.31.1", + "org.checkerframework:checker-qual:3.12.0": "org.checkerframework:checker-qual:3.43.0" + }, + "artifacts": { + "com.google.android:annotations": { + "shasums": { + "jar": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15" + }, + "version": "4.1.1.4" + }, + "com.google.api.grpc:proto-google-common-protos": { + "shasums": { + "jar": "0b27938f3d28ccd6884945d7e4f75f4e26a677bbf3cd39bbcb694f130f782aa9" + }, + "version": "2.51.0" + }, + "com.google.auth:google-auth-library-credentials": { + "shasums": { + "jar": "5dbf1207d14e093f67995f457cb69c3cf49bed1364150b23465e09acada65d96" + }, + "version": "1.24.1" + }, + "com.google.auth:google-auth-library-oauth2-http": { + "shasums": { + "jar": "88a75cd4448ea2f3b46e48a89497a6cf0985a5fa4e21274af4940e07f59f6eaf" + }, + "version": "1.24.1" + }, + "com.google.auto.value:auto-value": { + "shasums": { + "jar": "aaf8d637bfed3c420436b9facf1b7a88d12c8785374e4202382783005319c2c3" + }, + "version": "1.11.0" + }, + "com.google.auto.value:auto-value-annotations": { + "shasums": { + "jar": "5a055ce4255333b3346e1a8703da5bf8ff049532286fdcd31712d624abe111dd" + }, + "version": "1.11.0" + }, + "com.google.code.findbugs:jsr305": { + "shasums": { + "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" + }, + "version": "3.0.2" + }, + "com.google.code.gson:gson": { + "shasums": { + "jar": "57928d6e5a6edeb2abd3770a8f95ba44dce45f3b23b7a9dc2b309c581552a78b" + }, + "version": "2.11.0" + }, + "com.google.errorprone:error_prone_annotations": { + "shasums": { + "jar": "144f3aefbd6e27daec55d3753b2c6b13c1afdaf0cf04816cdb564588ed92f1bd" + }, + "version": "2.30.0" + }, + "com.google.guava:failureaccess": { + "shasums": { + "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064" + }, + "version": "1.0.2" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "2c3e41d1b380f2044d257947a3aa82dabf3ae4b978622745254aa18b6cf89ab0" + }, + "version": "33.3.1-android" + }, + "com.google.guava:listenablefuture": { + "shasums": { + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" + }, + "version": "9999.0-empty-to-avoid-conflict-with-guava" + }, + "com.google.http-client:google-http-client": { + "shasums": { + "jar": "390618d7b51704240b8fd28e1230fa35d220f93f4b4ba80f63e38db00dacb09e" + }, + "version": "1.44.2" + }, + "com.google.http-client:google-http-client-gson": { + "shasums": { + "jar": "1119b66685195310375b717de2215d6c5d14fa8ed9f57e07b4fecd461e7b9db7" + }, + "version": "1.44.2" + }, + "com.google.j2objc:j2objc-annotations": { + "shasums": { + "jar": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64" + }, + "version": "3.0.0" + }, + "com.google.jimfs:jimfs": { + "shasums": { + "jar": "82494408bb513f5512652e7b7f63d6f31f01eff57ce35c878644ffc2d25aee4f" + }, + "version": "1.3.0" + }, + "com.google.protobuf:protobuf-java": { + "shasums": { + "jar": "0f3a4e9264db07cec429f2a68a66030e9b7487277b76863cdd0e9238cece249b" + }, + "version": "4.30.2" + }, + "com.google.protobuf:protobuf-kotlin": { + "shasums": { + "jar": "278ac5ad950b92045955404ee4b58f0054c3b6e302afbf62860004ab043ae18f" + }, + "version": "4.30.2" + }, + "com.google.re2j:re2j": { + "shasums": { + "jar": "7b52c72156dd7f98b3237a5b35c1d34fba381b21048c89208913ad80a45dfbd7" + }, + "version": "1.8" + }, + "com.google.truth.extensions:truth-liteproto-extension": { + "shasums": { + "jar": "503bd6ecbf1d508ff05407b798b0e3044fe914e8d9971de97d46442411f56512" + }, + "version": "1.4.4" + }, + "com.google.truth.extensions:truth-proto-extension": { + "shasums": { + "jar": "2e142983d689fc8ff1b4fc5f1b6c71d9b99339237ba7275937a934493b2b3f79" + }, + "version": "1.4.4" + }, + "com.google.truth:truth": { + "shasums": { + "jar": "52c86cddadc31bc8457c1e15689fc6b75e2e97ce2a83d8b54b795d556d489f8c" + }, + "version": "1.4.4" + }, + "com.squareup.okhttp:okhttp": { + "shasums": { + "jar": "88ac9fd1bb51f82bcc664cc1eb9c225c90dc4389d660231b4cc737bebfe7d0aa" + }, + "version": "2.7.5" + }, + "com.squareup.okio:okio": { + "shasums": { + "jar": "a27f091d34aa452e37227e2cfa85809f29012a8ef2501a9b5a125a978e4fcbc1" + }, + "version": "2.10.0" + }, + "com.squareup:kotlinpoet": { + "shasums": { + "jar": "102d5d8a289d961cd7f39204c264d272e4aad775e388d909f6050e14558aae9b" + }, + "version": "1.14.2" + }, + "commons-codec:commons-codec": { + "shasums": { + "jar": "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d" + }, + "version": "1.11" + }, + "io.grpc:grpc-api": { + "shasums": { + "jar": "49771bad244de122f05780c12f3e74ba9a301be125d0941a85e649212f4a8a01" + }, + "version": "1.71.0" + }, + "io.grpc:grpc-context": { + "shasums": { + "jar": "dd0484ac5d0baf7ee810331504dc6202c7b426bc88dce24100e77f576904dd52" + }, + "version": "1.71.0" + }, + "io.grpc:grpc-core": { + "shasums": { + "jar": "03099494c60cb9fea5802ebba8d767e44697062ec05e5207b5ae897e09bd38e9" + }, + "version": "1.71.0" + }, + "io.grpc:grpc-inprocess": { + "shasums": { + "jar": "86c7de6e38cd3ea40b3720a037f58069c65f1a5d291aea370261eeebfe0557af" + }, + "version": "1.71.0" + }, + "io.grpc:grpc-stub": { + "shasums": { + "jar": "51912e612b28db65eec0332a8be494b3c54d347ecd2c5f6a7fdd2cb994fab360" + }, + "version": "1.71.0" + }, + "io.grpc:grpc-testing": { + "shasums": { + "jar": "7ce9b0580e60c0310b1098490f07131234a62dc852aed39bcbd8c76adfcbc3e5" + }, + "version": "1.71.0" + }, + "io.grpc:grpc-util": { + "shasums": { + "jar": "32a9197c541bb072dc2f728e235347c3c0f7cf8062abf3de58c50b4fc70f31b1" + }, + "version": "1.71.0" + }, + "io.netty:netty-buffer": { + "shasums": { + "jar": "46d74e79125aacc055c31f18152fdc5d4a569aa8d60091203d0baa833973ac3c" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-codec": { + "shasums": { + "jar": "9eccce9a8d827bb8ce84f9c3183fec58bd1c96a51010cf711297746034af3701" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-codec-http": { + "shasums": { + "jar": "dc0d6af5054630a70ff0ef354f20aa7a6e46738c9fc5636ed3d4fe77e38bd48d" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-codec-http2": { + "shasums": { + "jar": "b546c75445a487bb7bcd5a94779caecce33582cf7be31b8b39fc0e65b1ee26fc" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-codec-socks": { + "shasums": { + "jar": "976052a3c9bb280bc6d99f3a29e6404677cf958c3de05b205093d38c006b880c" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-common": { + "shasums": { + "jar": "9851ec66548b9e0d41164ce98943cdd4bbe305f68ddbd24eae52e4501a0d7b1a" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-handler": { + "shasums": { + "jar": "d5a08d7de364912e4285968de4d4cce3f01da4bb048d5c6937e5f2af1f8e148a" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-handler-proxy": { + "shasums": { + "jar": "ad54ab4fe9c47ef3e723d71251126db53e8db543871adb9eafc94446539eff52" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-resolver": { + "shasums": { + "jar": "a2e9b4ae7caa92fc5bd747e11d1dec20d81b18fc00959554302244ac5c56ce70" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-tcnative-boringssl-static": { + "shasums": { + "jar": "3f7b4c3a51737965cd5b53777782c125784420458d96513cfac7412e4d1fa0c3", + "linux-aarch_64": "523c43f67ad9040d70f9494fc28eebf711d8c54e2aa30e3fd1a199c38740f53b", + "linux-x86_64": "3d773aac73fe40f5d04de37ce14a1f7abd27caf0b3bd8275884f5d2968b3e254", + "osx-aarch_64": "0454c53e65da6e253b2104d1ae26ecc79df4faf999e8924b659846b5bf41e996", + "osx-x86_64": "9c6a23335f296689fb3538bc49e4e280ff163675212c6fe01c9cf2a9273ee19a", + "windows-x86_64": "b3e3e0559df29a5624bcf529cb8e2bd9375c6d68164dda338e841677586a14c4" + }, + "version": "2.0.70.Final" + }, + "io.netty:netty-tcnative-classes": { + "shasums": { + "jar": "a79c1579313d4ad48a3ecc1d01a25da06d22d6449c3bcc369c2318749bcf55bc" + }, + "version": "2.0.70.Final" + }, + "io.netty:netty-transport": { + "shasums": { + "jar": "a42dd68390ca14b4ff2d40628a096c76485b4adb7c19602d5289321a0669e704" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-transport-classes-epoll": { + "shasums": { + "jar": "8e59cec67de3b9f8afe4eccec11ed8ce4423948eeaf4ca512bf69324052ed510" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-transport-native-epoll": { + "shasums": { + "linux-x86_64": "dcd60c6b3076af307ab877201a136e1f1066c9be809aaed827391a23909f9135" + }, + "version": "4.1.110.Final" + }, + "io.netty:netty-transport-native-unix-common": { + "shasums": { + "jar": "51717bb7471141950390c6713a449fdb1054d07e60737ee7dda7083796cdee48" + }, + "version": "4.1.110.Final" + }, + "io.opencensus:opencensus-api": { + "shasums": { + "jar": "f1474d47f4b6b001558ad27b952e35eda5cc7146788877fc52938c6eba24b382" + }, + "version": "0.31.1" + }, + "io.opencensus:opencensus-contrib-grpc-metrics": { + "shasums": { + "jar": "b28fc72490edd49c4c40a3c216b709200833fb361f7f602f1c7c9a527f7b7f63" + }, + "version": "0.31.0" + }, + "io.opencensus:opencensus-contrib-http-util": { + "shasums": { + "jar": "3ea995b55a4068be22989b70cc29a4d788c2d328d1d50613a7a9afd13fdd2d0a" + }, + "version": "0.31.1" + }, + "io.perfmark:perfmark-api": { + "shasums": { + "jar": "c7b478503ec524e55df19b424d46d27c8a68aeb801664fadd4f069b71f52d0f6" + }, + "version": "0.27.0" + }, + "junit:junit": { + "shasums": { + "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" + }, + "version": "4.13.2" + }, + "net.bytebuddy:byte-buddy": { + "shasums": { + "jar": "07b9ca6e2f970cb03f4b25651df1f2fce271d491b44e0409827887786f692d4d" + }, + "version": "1.10.9" + }, + "net.bytebuddy:byte-buddy-agent": { + "shasums": { + "jar": "fbd052d2d4cd16f707547c468621c6b7fb842c7ec8866d012ecbc6178de1f394" + }, + "version": "1.10.9" + }, + "net.java.dev.jna:jna": { + "shasums": { + "jar": "eafcc780b445434d3c5ae7fa2fb6665de1a7560d537d2c408a8e80cd14d27161" + }, + "version": "5.9.0" + }, + "net.java.dev.jna:jna-platform": { + "shasums": { + "jar": "1903bc6d87f3ab92023957b91f45a9c8eb3515bad030356ce977201e5141b724" + }, + "version": "5.9.0" + }, + "org.apache.httpcomponents:httpclient": { + "shasums": { + "jar": "c8bc7e1c51a6d4ce72f40d2ebbabf1c4b68bfe76e732104b04381b493478e9d6" + }, + "version": "4.5.14" + }, + "org.apache.httpcomponents:httpcore": { + "shasums": { + "jar": "6c9b3dd142a09dc468e23ad39aad6f75a0f2b85125104469f026e52a474e464f" + }, + "version": "4.4.16" + }, + "org.apache.tomcat:annotations-api": { + "shasums": { + "jar": "253829d3c12b7381d1044fc22c6436cff025fe0d459e4a329413e560a7d0dd13" + }, + "version": "6.0.53" + }, + "org.checkerframework:checker-qual": { + "shasums": { + "jar": "3fbc2e98f05854c3df16df9abaa955b91b15b3ecac33623208ed6424640ef0f6" + }, + "version": "3.43.0" + }, + "org.codehaus.mojo:animal-sniffer-annotations": { + "shasums": { + "jar": "c720e6e5bcbe6b2f48ded75a47bccdb763eede79d14330102e0d352e3d89ed92" + }, + "version": "1.24" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "shasums": { + "jar": "8a6cd5a3cf092acee274ce2c444dc36eefdb631579859dd4d857b3309a529c91" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "d6f91b7b0f306cca299fec74fb7c34e4874d6f5ec5b925a0b4de21901e119c3f" + }, + "version": "2.1.0" + }, + "org.jetbrains.kotlin:kotlin-stdlib-common": { + "shasums": { + "jar": "a7112c9b3cefee418286c9c9372f7af992bd1e6e030691d52f60cb36dbec8320" + }, + "version": "1.4.20" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": { + "shasums": { + "jar": "33d148db0e11debd0d90677d28242bced907f9c77730000fd597867089039d86" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": { + "shasums": { + "jar": "3db752a30074f06ee6c57984aa6f27da44f4d2bbc7f5442651f6988f1cb2b7d7" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": { + "shasums": { + "jar": "fae4771dd987cfadabae129dd7f625af40d9e4f14abb7ffc72e42dccb97b7010" + }, + "version": "1.10.1" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": { + "shasums": { + "jar": "069c5988633230e074ec0d39321ec3cdaa4547c49e90ba936c63d8fc91c8c00d" + }, + "version": "1.10.1" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": { + "shasums": { + "jar": "aeef5c2adc45adc14bd3df7de8f034d57678aa75ffddc7e3bf152e5a8e9ebd2b" + }, + "version": "1.10.1" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05" + }, + "version": "23.0.0" + }, + "org.jspecify:jspecify": { + "shasums": { + "jar": "e1c7e1832b6095fcfcbe57485700c7330d53d4e57e2c5bbf9c71819b02e978be" + }, + "version": "0.3.0" + }, + "org.ow2.asm:asm": { + "shasums": { + "jar": "adf46d5e34940bdf148ecdd26a9ee8eea94496a72034ff7141066b3eea5c4e9d" + }, + "version": "9.7" + } + }, + "dependencies": { + "com.google.api.grpc:proto-google-common-protos": [ + "com.google.protobuf:protobuf-java" + ], + "com.google.auth:google-auth-library-oauth2-http": [ + "com.google.auth:google-auth-library-credentials", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.http-client:google-http-client", + "com.google.http-client:google-http-client-gson" + ], + "com.google.code.gson:gson": [ + "com.google.errorprone:error_prone_annotations" + ], + "com.google.guava:guava": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "org.checkerframework:checker-qual" + ], + "com.google.http-client:google-http-client": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.j2objc:j2objc-annotations", + "io.grpc:grpc-context", + "io.opencensus:opencensus-api", + "io.opencensus:opencensus-contrib-http-util", + "org.apache.httpcomponents:httpclient", + "org.apache.httpcomponents:httpcore" + ], + "com.google.http-client:google-http-client-gson": [ + "com.google.code.gson:gson", + "com.google.http-client:google-http-client" + ], + "com.google.jimfs:jimfs": [ + "com.google.guava:guava" + ], + "com.google.protobuf:protobuf-kotlin": [ + "com.google.protobuf:protobuf-java", + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.google.truth.extensions:truth-liteproto-extension": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.truth:truth", + "org.jspecify:jspecify" + ], + "com.google.truth.extensions:truth-proto-extension": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.protobuf:protobuf-java", + "com.google.truth.extensions:truth-liteproto-extension", + "com.google.truth:truth", + "org.jspecify:jspecify" + ], + "com.google.truth:truth": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "junit:junit", + "org.jspecify:jspecify", + "org.ow2.asm:asm" + ], + "com.squareup.okhttp:okhttp": [ + "com.squareup.okio:okio" + ], + "com.squareup.okio:okio": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common" + ], + "com.squareup:kotlinpoet": [ + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "io.grpc:grpc-api": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava" + ], + "io.grpc:grpc-context": [ + "io.grpc:grpc-api" + ], + "io.grpc:grpc-core": [ + "com.google.android:annotations", + "com.google.code.gson:gson", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "io.grpc:grpc-api", + "io.grpc:grpc-context", + "io.perfmark:perfmark-api", + "org.codehaus.mojo:animal-sniffer-annotations" + ], + "io.grpc:grpc-inprocess": [ + "com.google.guava:guava", + "io.grpc:grpc-api", + "io.grpc:grpc-core" + ], + "io.grpc:grpc-stub": [ + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "io.grpc:grpc-api", + "org.codehaus.mojo:animal-sniffer-annotations" + ], + "io.grpc:grpc-testing": [ + "io.grpc:grpc-api", + "io.grpc:grpc-core", + "io.grpc:grpc-inprocess", + "io.grpc:grpc-stub", + "io.grpc:grpc-util", + "junit:junit" + ], + "io.grpc:grpc-util": [ + "com.google.guava:guava", + "io.grpc:grpc-api", + "io.grpc:grpc-core", + "org.codehaus.mojo:animal-sniffer-annotations" + ], + "io.netty:netty-buffer": [ + "io.netty:netty-common" + ], + "io.netty:netty-codec": [ + "io.netty:netty-buffer", + "io.netty:netty-common", + "io.netty:netty-transport" + ], + "io.netty:netty-codec-http": [ + "io.netty:netty-buffer", + "io.netty:netty-codec", + "io.netty:netty-common", + "io.netty:netty-handler", + "io.netty:netty-transport" + ], + "io.netty:netty-codec-http2": [ + "io.netty:netty-buffer", + "io.netty:netty-codec", + "io.netty:netty-codec-http", + "io.netty:netty-common", + "io.netty:netty-handler", + "io.netty:netty-transport" + ], + "io.netty:netty-codec-socks": [ + "io.netty:netty-buffer", + "io.netty:netty-codec", + "io.netty:netty-common", + "io.netty:netty-transport" + ], + "io.netty:netty-handler": [ + "io.netty:netty-buffer", + "io.netty:netty-codec", + "io.netty:netty-common", + "io.netty:netty-resolver", + "io.netty:netty-transport", + "io.netty:netty-transport-native-unix-common" + ], + "io.netty:netty-handler-proxy": [ + "io.netty:netty-buffer", + "io.netty:netty-codec", + "io.netty:netty-codec-http", + "io.netty:netty-codec-socks", + "io.netty:netty-common", + "io.netty:netty-transport" + ], + "io.netty:netty-resolver": [ + "io.netty:netty-common" + ], + "io.netty:netty-tcnative-boringssl-static": [ + "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", + "io.netty:netty-tcnative-classes" + ], + "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64": [ + "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", + "io.netty:netty-tcnative-classes" + ], + "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64": [ + "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", + "io.netty:netty-tcnative-classes" + ], + "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64": [ + "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", + "io.netty:netty-tcnative-classes" + ], + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64": [ + "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", + "io.netty:netty-tcnative-classes" + ], + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64": [ + "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", + "io.netty:netty-tcnative-classes" + ], + "io.netty:netty-transport": [ + "io.netty:netty-buffer", + "io.netty:netty-common", + "io.netty:netty-resolver" + ], + "io.netty:netty-transport-classes-epoll": [ + "io.netty:netty-buffer", + "io.netty:netty-common", + "io.netty:netty-transport", + "io.netty:netty-transport-native-unix-common" + ], + "io.netty:netty-transport-native-epoll:jar:linux-x86_64": [ + "io.netty:netty-buffer", + "io.netty:netty-common", + "io.netty:netty-transport", + "io.netty:netty-transport-classes-epoll", + "io.netty:netty-transport-native-unix-common" + ], + "io.netty:netty-transport-native-unix-common": [ + "io.netty:netty-buffer", + "io.netty:netty-common", + "io.netty:netty-transport" + ], + "io.opencensus:opencensus-api": [ + "io.grpc:grpc-context" + ], + "io.opencensus:opencensus-contrib-grpc-metrics": [ + "com.google.guava:guava", + "io.opencensus:opencensus-api" + ], + "io.opencensus:opencensus-contrib-http-util": [ + "com.google.guava:guava", + "io.opencensus:opencensus-api" + ], + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ], + "net.java.dev.jna:jna-platform": [ + "net.java.dev.jna:jna" + ], + "org.apache.httpcomponents:httpclient": [ + "commons-codec:commons-codec", + "org.apache.httpcomponents:httpcore" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core": [ + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": [ + "net.bytebuddy:byte-buddy", + "net.bytebuddy:byte-buddy-agent", + "net.java.dev.jna:jna", + "net.java.dev.jna:jna-platform", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm" + ] + }, + "packages": { + "com.google.android:annotations": [ + "android.annotation" + ], + "com.google.api.grpc:proto-google-common-protos": [ + "com.google.api", + "com.google.apps.card.v1", + "com.google.cloud", + "com.google.cloud.audit", + "com.google.cloud.location", + "com.google.geo.type", + "com.google.logging.type", + "com.google.longrunning", + "com.google.rpc", + "com.google.rpc.context", + "com.google.shopping.type", + "com.google.type" + ], + "com.google.auth:google-auth-library-credentials": [ + "com.google.auth" + ], + "com.google.auth:google-auth-library-oauth2-http": [ + "com.google.auth.http", + "com.google.auth.oauth2" + ], + "com.google.auto.value:auto-value": [ + "autovalue.shaded.com.google.auto.common", + "autovalue.shaded.com.google.auto.service", + "autovalue.shaded.com.google.common.annotations", + "autovalue.shaded.com.google.common.base", + "autovalue.shaded.com.google.common.cache", + "autovalue.shaded.com.google.common.collect", + "autovalue.shaded.com.google.common.escape", + "autovalue.shaded.com.google.common.eventbus", + "autovalue.shaded.com.google.common.graph", + "autovalue.shaded.com.google.common.hash", + "autovalue.shaded.com.google.common.html", + "autovalue.shaded.com.google.common.io", + "autovalue.shaded.com.google.common.math", + "autovalue.shaded.com.google.common.net", + "autovalue.shaded.com.google.common.primitives", + "autovalue.shaded.com.google.common.reflect", + "autovalue.shaded.com.google.common.util.concurrent", + "autovalue.shaded.com.google.common.xml", + "autovalue.shaded.com.google.errorprone.annotations", + "autovalue.shaded.com.google.errorprone.annotations.concurrent", + "autovalue.shaded.com.google.escapevelocity", + "autovalue.shaded.com.google.j2objc.annotations", + "autovalue.shaded.com.squareup.javapoet", + "autovalue.shaded.net.ltgt.gradle.incap", + "autovalue.shaded.org.checkerframework.checker.nullness.qual", + "autovalue.shaded.org.checkerframework.framework.qual", + "autovalue.shaded.org.objectweb.asm", + "com.google.auto.value.extension", + "com.google.auto.value.extension.memoized.processor", + "com.google.auto.value.extension.serializable.processor", + "com.google.auto.value.extension.serializable.serializer", + "com.google.auto.value.extension.serializable.serializer.impl", + "com.google.auto.value.extension.serializable.serializer.interfaces", + "com.google.auto.value.extension.serializable.serializer.runtime", + "com.google.auto.value.extension.toprettystring.processor", + "com.google.auto.value.processor" + ], + "com.google.auto.value:auto-value-annotations": [ + "com.google.auto.value", + "com.google.auto.value.extension.memoized", + "com.google.auto.value.extension.serializable", + "com.google.auto.value.extension.toprettystring" + ], + "com.google.code.findbugs:jsr305": [ + "javax.annotation", + "javax.annotation.concurrent", + "javax.annotation.meta" + ], + "com.google.code.gson:gson": [ + "com.google.gson", + "com.google.gson.annotations", + "com.google.gson.internal", + "com.google.gson.internal.bind", + "com.google.gson.internal.bind.util", + "com.google.gson.internal.reflect", + "com.google.gson.internal.sql", + "com.google.gson.reflect", + "com.google.gson.stream" + ], + "com.google.errorprone:error_prone_annotations": [ + "com.google.errorprone.annotations", + "com.google.errorprone.annotations.concurrent" + ], + "com.google.guava:failureaccess": [ + "com.google.common.util.concurrent.internal" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.google.http-client:google-http-client": [ + "com.google.api.client.http", + "com.google.api.client.http.apache", + "com.google.api.client.http.javanet", + "com.google.api.client.http.json", + "com.google.api.client.json", + "com.google.api.client.json.rpc2", + "com.google.api.client.json.webtoken", + "com.google.api.client.testing.http", + "com.google.api.client.testing.http.apache", + "com.google.api.client.testing.http.javanet", + "com.google.api.client.testing.json", + "com.google.api.client.testing.json.webtoken", + "com.google.api.client.testing.util", + "com.google.api.client.util", + "com.google.api.client.util.escape", + "com.google.api.client.util.store" + ], + "com.google.http-client:google-http-client-gson": [ + "com.google.api.client.json.gson" + ], + "com.google.j2objc:j2objc-annotations": [ + "com.google.j2objc.annotations" + ], + "com.google.jimfs:jimfs": [ + "com.google.common.jimfs" + ], + "com.google.protobuf:protobuf-java": [ + "com.google.protobuf", + "com.google.protobuf.compiler" + ], + "com.google.protobuf:protobuf-kotlin": [ + "com.google.protobuf", + "com.google.protobuf.compiler", + "com.google.protobuf.kotlin" + ], + "com.google.re2j:re2j": [ + "com.google.re2j" + ], + "com.google.truth.extensions:truth-liteproto-extension": [ + "com.google.common.truth.extensions.proto" + ], + "com.google.truth.extensions:truth-proto-extension": [ + "com.google.common.truth.extensions.proto" + ], + "com.google.truth:truth": [ + "com.google.common.truth" + ], + "com.squareup.okhttp:okhttp": [ + "com.squareup.okhttp", + "com.squareup.okhttp.internal", + "com.squareup.okhttp.internal.framed", + "com.squareup.okhttp.internal.http", + "com.squareup.okhttp.internal.io", + "com.squareup.okhttp.internal.tls" + ], + "com.squareup.okio:okio": [ + "okio", + "okio.internal" + ], + "com.squareup:kotlinpoet": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "commons-codec:commons-codec": [ + "org.apache.commons.codec", + "org.apache.commons.codec.binary", + "org.apache.commons.codec.cli", + "org.apache.commons.codec.digest", + "org.apache.commons.codec.language", + "org.apache.commons.codec.language.bm", + "org.apache.commons.codec.net" + ], + "io.grpc:grpc-api": [ + "io.grpc" + ], + "io.grpc:grpc-core": [ + "io.grpc.internal" + ], + "io.grpc:grpc-inprocess": [ + "io.grpc.inprocess" + ], + "io.grpc:grpc-stub": [ + "io.grpc.stub", + "io.grpc.stub.annotations" + ], + "io.grpc:grpc-testing": [ + "io.grpc.internal.testing", + "io.grpc.testing" + ], + "io.grpc:grpc-util": [ + "io.grpc.util" + ], + "io.netty:netty-buffer": [ + "io.netty.buffer", + "io.netty.buffer.search" + ], + "io.netty:netty-codec": [ + "io.netty.handler.codec", + "io.netty.handler.codec.base64", + "io.netty.handler.codec.bytes", + "io.netty.handler.codec.compression", + "io.netty.handler.codec.json", + "io.netty.handler.codec.marshalling", + "io.netty.handler.codec.protobuf", + "io.netty.handler.codec.serialization", + "io.netty.handler.codec.string", + "io.netty.handler.codec.xml" + ], + "io.netty:netty-codec-http": [ + "io.netty.handler.codec.http", + "io.netty.handler.codec.http.cookie", + "io.netty.handler.codec.http.cors", + "io.netty.handler.codec.http.multipart", + "io.netty.handler.codec.http.websocketx", + "io.netty.handler.codec.http.websocketx.extensions", + "io.netty.handler.codec.http.websocketx.extensions.compression", + "io.netty.handler.codec.rtsp", + "io.netty.handler.codec.spdy" + ], + "io.netty:netty-codec-http2": [ + "io.netty.handler.codec.http2" + ], + "io.netty:netty-codec-socks": [ + "io.netty.handler.codec.socks", + "io.netty.handler.codec.socksx", + "io.netty.handler.codec.socksx.v4", + "io.netty.handler.codec.socksx.v5" + ], + "io.netty:netty-common": [ + "io.netty.util", + "io.netty.util.collection", + "io.netty.util.concurrent", + "io.netty.util.internal", + "io.netty.util.internal.logging", + "io.netty.util.internal.shaded.org.jctools.queues", + "io.netty.util.internal.shaded.org.jctools.queues.atomic", + "io.netty.util.internal.shaded.org.jctools.util", + "io.netty.util.internal.svm" + ], + "io.netty:netty-handler": [ + "io.netty.handler.address", + "io.netty.handler.flow", + "io.netty.handler.flush", + "io.netty.handler.ipfilter", + "io.netty.handler.logging", + "io.netty.handler.pcap", + "io.netty.handler.ssl", + "io.netty.handler.ssl.ocsp", + "io.netty.handler.ssl.util", + "io.netty.handler.stream", + "io.netty.handler.timeout", + "io.netty.handler.traffic" + ], + "io.netty:netty-handler-proxy": [ + "io.netty.handler.proxy" + ], + "io.netty:netty-resolver": [ + "io.netty.resolver" + ], + "io.netty:netty-tcnative-classes": [ + "io.netty.internal.tcnative" + ], + "io.netty:netty-transport": [ + "io.netty.bootstrap", + "io.netty.channel", + "io.netty.channel.embedded", + "io.netty.channel.group", + "io.netty.channel.internal", + "io.netty.channel.local", + "io.netty.channel.nio", + "io.netty.channel.oio", + "io.netty.channel.pool", + "io.netty.channel.socket", + "io.netty.channel.socket.nio", + "io.netty.channel.socket.oio" + ], + "io.netty:netty-transport-classes-epoll": [ + "io.netty.channel.epoll" + ], + "io.netty:netty-transport-native-unix-common": [ + "io.netty.channel.unix" + ], + "io.opencensus:opencensus-api": [ + "io.opencensus.common", + "io.opencensus.internal", + "io.opencensus.metrics", + "io.opencensus.metrics.data", + "io.opencensus.metrics.export", + "io.opencensus.resource", + "io.opencensus.stats", + "io.opencensus.tags", + "io.opencensus.tags.propagation", + "io.opencensus.tags.unsafe", + "io.opencensus.trace", + "io.opencensus.trace.config", + "io.opencensus.trace.export", + "io.opencensus.trace.internal", + "io.opencensus.trace.propagation", + "io.opencensus.trace.samplers", + "io.opencensus.trace.unsafe" + ], + "io.opencensus:opencensus-contrib-grpc-metrics": [ + "io.opencensus.contrib.grpc.metrics" + ], + "io.opencensus:opencensus-contrib-http-util": [ + "io.opencensus.contrib.http", + "io.opencensus.contrib.http.util" + ], + "io.perfmark:perfmark-api": [ + "io.perfmark" + ], + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.function", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.management", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "net.bytebuddy:byte-buddy": [ + "net.bytebuddy", + "net.bytebuddy.agent.builder", + "net.bytebuddy.asm", + "net.bytebuddy.build", + "net.bytebuddy.description", + "net.bytebuddy.description.annotation", + "net.bytebuddy.description.enumeration", + "net.bytebuddy.description.field", + "net.bytebuddy.description.method", + "net.bytebuddy.description.modifier", + "net.bytebuddy.description.type", + "net.bytebuddy.dynamic", + "net.bytebuddy.dynamic.loading", + "net.bytebuddy.dynamic.scaffold", + "net.bytebuddy.dynamic.scaffold.inline", + "net.bytebuddy.dynamic.scaffold.subclass", + "net.bytebuddy.implementation", + "net.bytebuddy.implementation.attribute", + "net.bytebuddy.implementation.auxiliary", + "net.bytebuddy.implementation.bind", + "net.bytebuddy.implementation.bind.annotation", + "net.bytebuddy.implementation.bytecode", + "net.bytebuddy.implementation.bytecode.assign", + "net.bytebuddy.implementation.bytecode.assign.primitive", + "net.bytebuddy.implementation.bytecode.assign.reference", + "net.bytebuddy.implementation.bytecode.collection", + "net.bytebuddy.implementation.bytecode.constant", + "net.bytebuddy.implementation.bytecode.member", + "net.bytebuddy.jar.asm", + "net.bytebuddy.jar.asm.commons", + "net.bytebuddy.jar.asm.signature", + "net.bytebuddy.matcher", + "net.bytebuddy.pool", + "net.bytebuddy.utility", + "net.bytebuddy.utility.privilege", + "net.bytebuddy.utility.visitor" + ], + "net.bytebuddy:byte-buddy-agent": [ + "net.bytebuddy.agent" + ], + "net.java.dev.jna:jna": [ + "com.sun.jna", + "com.sun.jna.internal", + "com.sun.jna.ptr", + "com.sun.jna.win32" + ], + "net.java.dev.jna:jna-platform": [ + "com.sun.jna.platform", + "com.sun.jna.platform.dnd", + "com.sun.jna.platform.linux", + "com.sun.jna.platform.mac", + "com.sun.jna.platform.unix", + "com.sun.jna.platform.unix.aix", + "com.sun.jna.platform.unix.solaris", + "com.sun.jna.platform.win32", + "com.sun.jna.platform.win32.COM", + "com.sun.jna.platform.win32.COM.tlb", + "com.sun.jna.platform.win32.COM.tlb.imp", + "com.sun.jna.platform.win32.COM.util", + "com.sun.jna.platform.win32.COM.util.annotation", + "com.sun.jna.platform.wince" + ], + "org.apache.httpcomponents:httpclient": [ + "org.apache.http.auth", + "org.apache.http.auth.params", + "org.apache.http.client", + "org.apache.http.client.config", + "org.apache.http.client.entity", + "org.apache.http.client.methods", + "org.apache.http.client.params", + "org.apache.http.client.protocol", + "org.apache.http.client.utils", + "org.apache.http.conn", + "org.apache.http.conn.params", + "org.apache.http.conn.routing", + "org.apache.http.conn.scheme", + "org.apache.http.conn.socket", + "org.apache.http.conn.ssl", + "org.apache.http.conn.util", + "org.apache.http.cookie", + "org.apache.http.cookie.params", + "org.apache.http.impl.auth", + "org.apache.http.impl.client", + "org.apache.http.impl.conn", + "org.apache.http.impl.conn.tsccm", + "org.apache.http.impl.cookie", + "org.apache.http.impl.execchain" + ], + "org.apache.httpcomponents:httpcore": [ + "org.apache.http", + "org.apache.http.annotation", + "org.apache.http.concurrent", + "org.apache.http.config", + "org.apache.http.entity", + "org.apache.http.impl", + "org.apache.http.impl.bootstrap", + "org.apache.http.impl.entity", + "org.apache.http.impl.io", + "org.apache.http.impl.pool", + "org.apache.http.io", + "org.apache.http.message", + "org.apache.http.params", + "org.apache.http.pool", + "org.apache.http.protocol", + "org.apache.http.ssl", + "org.apache.http.util" + ], + "org.apache.tomcat:annotations-api": [ + "javax.annotation", + "javax.annotation.security", + "javax.ejb", + "javax.persistence", + "javax.xml.ws" + ], + "org.checkerframework:checker-qual": [ + "org.checkerframework.checker.builder.qual", + "org.checkerframework.checker.calledmethods.qual", + "org.checkerframework.checker.compilermsgs.qual", + "org.checkerframework.checker.fenum.qual", + "org.checkerframework.checker.formatter.qual", + "org.checkerframework.checker.guieffect.qual", + "org.checkerframework.checker.i18n.qual", + "org.checkerframework.checker.i18nformatter.qual", + "org.checkerframework.checker.index.qual", + "org.checkerframework.checker.initialization.qual", + "org.checkerframework.checker.interning.qual", + "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.mustcall.qual", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.checker.optional.qual", + "org.checkerframework.checker.propkey.qual", + "org.checkerframework.checker.regex.qual", + "org.checkerframework.checker.signature.qual", + "org.checkerframework.checker.signedness.qual", + "org.checkerframework.checker.tainting.qual", + "org.checkerframework.checker.units.qual", + "org.checkerframework.common.aliasing.qual", + "org.checkerframework.common.initializedfields.qual", + "org.checkerframework.common.reflection.qual", + "org.checkerframework.common.returnsreceiver.qual", + "org.checkerframework.common.subtyping.qual", + "org.checkerframework.common.util.count.report.qual", + "org.checkerframework.common.value.qual", + "org.checkerframework.dataflow.qual", + "org.checkerframework.framework.qual" + ], + "org.codehaus.mojo:animal-sniffer-annotations": [ + "org.codehaus.mojo.animal_sniffer" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "kotlin.reflect.full", + "kotlin.reflect.jvm", + "kotlin.reflect.jvm.internal", + "kotlin.reflect.jvm.internal.calls", + "kotlin.reflect.jvm.internal.impl", + "kotlin.reflect.jvm.internal.impl.builtins", + "kotlin.reflect.jvm.internal.impl.builtins.functions", + "kotlin.reflect.jvm.internal.impl.builtins.jvm", + "kotlin.reflect.jvm.internal.impl.descriptors", + "kotlin.reflect.jvm.internal.impl.descriptors.annotations", + "kotlin.reflect.jvm.internal.impl.descriptors.deserialization", + "kotlin.reflect.jvm.internal.impl.descriptors.impl", + "kotlin.reflect.jvm.internal.impl.descriptors.java", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.components", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.structure", + "kotlin.reflect.jvm.internal.impl.incremental", + "kotlin.reflect.jvm.internal.impl.incremental.components", + "kotlin.reflect.jvm.internal.impl.load.java", + "kotlin.reflect.jvm.internal.impl.load.java.components", + "kotlin.reflect.jvm.internal.impl.load.java.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.types", + "kotlin.reflect.jvm.internal.impl.load.java.sources", + "kotlin.reflect.jvm.internal.impl.load.java.structure", + "kotlin.reflect.jvm.internal.impl.load.java.typeEnhancement", + "kotlin.reflect.jvm.internal.impl.load.kotlin", + "kotlin.reflect.jvm.internal.impl.load.kotlin.header", + "kotlin.reflect.jvm.internal.impl.metadata", + "kotlin.reflect.jvm.internal.impl.metadata.builtins", + "kotlin.reflect.jvm.internal.impl.metadata.deserialization", + "kotlin.reflect.jvm.internal.impl.metadata.jvm", + "kotlin.reflect.jvm.internal.impl.metadata.jvm.deserialization", + "kotlin.reflect.jvm.internal.impl.name", + "kotlin.reflect.jvm.internal.impl.platform", + "kotlin.reflect.jvm.internal.impl.protobuf", + "kotlin.reflect.jvm.internal.impl.renderer", + "kotlin.reflect.jvm.internal.impl.resolve", + "kotlin.reflect.jvm.internal.impl.resolve.calls.inference", + "kotlin.reflect.jvm.internal.impl.resolve.constants", + "kotlin.reflect.jvm.internal.impl.resolve.deprecation", + "kotlin.reflect.jvm.internal.impl.resolve.descriptorUtil", + "kotlin.reflect.jvm.internal.impl.resolve.jvm", + "kotlin.reflect.jvm.internal.impl.resolve.sam", + "kotlin.reflect.jvm.internal.impl.resolve.scopes", + "kotlin.reflect.jvm.internal.impl.resolve.scopes.receivers", + "kotlin.reflect.jvm.internal.impl.serialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors", + "kotlin.reflect.jvm.internal.impl.storage", + "kotlin.reflect.jvm.internal.impl.types", + "kotlin.reflect.jvm.internal.impl.types.checker", + "kotlin.reflect.jvm.internal.impl.types.error", + "kotlin.reflect.jvm.internal.impl.types.extensions", + "kotlin.reflect.jvm.internal.impl.types.model", + "kotlin.reflect.jvm.internal.impl.types.typeUtil", + "kotlin.reflect.jvm.internal.impl.types.typesApproximation", + "kotlin.reflect.jvm.internal.impl.util", + "kotlin.reflect.jvm.internal.impl.util.capitalizeDecapitalize", + "kotlin.reflect.jvm.internal.impl.util.collectionUtils", + "kotlin.reflect.jvm.internal.impl.utils" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.jdk8", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.enums", + "kotlin.experimental", + "kotlin.internal", + "kotlin.internal.jdk7", + "kotlin.internal.jdk8", + "kotlin.io", + "kotlin.io.encoding", + "kotlin.io.path", + "kotlin.jdk7", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.jvm.jdk8", + "kotlin.jvm.optionals", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.random.jdk8", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.streams.jdk8", + "kotlin.system", + "kotlin.text", + "kotlin.text.jdk8", + "kotlin.time", + "kotlin.time.jdk8", + "kotlin.uuid" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [ + "_COROUTINE", + "kotlinx.coroutines", + "kotlinx.coroutines.channels", + "kotlinx.coroutines.debug.internal", + "kotlinx.coroutines.flow", + "kotlinx.coroutines.flow.internal", + "kotlinx.coroutines.future", + "kotlinx.coroutines.internal", + "kotlinx.coroutines.intrinsics", + "kotlinx.coroutines.scheduling", + "kotlinx.coroutines.selects", + "kotlinx.coroutines.stream", + "kotlinx.coroutines.sync", + "kotlinx.coroutines.time" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": [ + "kotlinx.coroutines.debug", + "kotlinx.coroutines.debug.junit4", + "kotlinx.coroutines.debug.junit5" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ], + "org.jspecify:jspecify": [ + "org.jspecify.annotations" + ], + "org.ow2.asm:asm": [ + "org.objectweb.asm", + "org.objectweb.asm.signature" + ] + }, + "repositories": { + "https://repo1.maven.org/maven2/": [ + "com.google.android:annotations", + "com.google.api.grpc:proto-google-common-protos", + "com.google.auth:google-auth-library-credentials", + "com.google.auth:google-auth-library-oauth2-http", + "com.google.auto.value:auto-value", + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.code.gson:gson", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.http-client:google-http-client", + "com.google.http-client:google-http-client-gson", + "com.google.j2objc:j2objc-annotations", + "com.google.jimfs:jimfs", + "com.google.protobuf:protobuf-java", + "com.google.protobuf:protobuf-kotlin", + "com.google.re2j:re2j", + "com.google.truth.extensions:truth-liteproto-extension", + "com.google.truth.extensions:truth-proto-extension", + "com.google.truth:truth", + "com.squareup.okhttp:okhttp", + "com.squareup.okio:okio", + "com.squareup:kotlinpoet", + "commons-codec:commons-codec", + "io.grpc:grpc-api", + "io.grpc:grpc-context", + "io.grpc:grpc-core", + "io.grpc:grpc-inprocess", + "io.grpc:grpc-stub", + "io.grpc:grpc-testing", + "io.grpc:grpc-util", + "io.netty:netty-buffer", + "io.netty:netty-codec", + "io.netty:netty-codec-http", + "io.netty:netty-codec-http2", + "io.netty:netty-codec-socks", + "io.netty:netty-common", + "io.netty:netty-handler", + "io.netty:netty-handler-proxy", + "io.netty:netty-resolver", + "io.netty:netty-tcnative-boringssl-static", + "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", + "io.netty:netty-tcnative-classes", + "io.netty:netty-transport", + "io.netty:netty-transport-classes-epoll", + "io.netty:netty-transport-native-epoll:jar:linux-x86_64", + "io.netty:netty-transport-native-unix-common", + "io.opencensus:opencensus-api", + "io.opencensus:opencensus-contrib-grpc-metrics", + "io.opencensus:opencensus-contrib-http-util", + "io.perfmark:perfmark-api", + "junit:junit", + "net.bytebuddy:byte-buddy", + "net.bytebuddy:byte-buddy-agent", + "net.java.dev.jna:jna", + "net.java.dev.jna:jna-platform", + "org.apache.httpcomponents:httpclient", + "org.apache.httpcomponents:httpcore", + "org.apache.tomcat:annotations-api", + "org.checkerframework:checker-qual", + "org.codehaus.mojo:animal-sniffer-annotations", + "org.hamcrest:hamcrest-core", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-common", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", + "org.jetbrains.kotlinx:kotlinx-coroutines-debug", + "org.jetbrains:annotations", + "org.jspecify:jspecify", + "org.ow2.asm:asm" + ] + }, + "services": { + "com.google.auto.value:auto-value": { + "com.google.auto.value.extension.AutoValueExtension": [ + "com.google.auto.value.extension.memoized.processor.MemoizeExtension", + "com.google.auto.value.extension.serializable.processor.SerializableAutoValueExtension", + "com.google.auto.value.extension.toprettystring.processor.ToPrettyStringExtension" + ], + "com.google.auto.value.extension.serializable.serializer.interfaces.SerializerExtension": [ + "com.google.auto.value.extension.serializable.serializer.impl.ImmutableListSerializerExtension", + "com.google.auto.value.extension.serializable.serializer.impl.ImmutableMapSerializerExtension", + "com.google.auto.value.extension.serializable.serializer.impl.OptionalSerializerExtension" + ], + "javax.annotation.processing.Processor": [ + "com.google.auto.value.extension.memoized.processor.MemoizedValidator", + "com.google.auto.value.extension.toprettystring.processor.ToPrettyStringValidator", + "com.google.auto.value.processor.AutoAnnotationProcessor", + "com.google.auto.value.processor.AutoBuilderProcessor", + "com.google.auto.value.processor.AutoOneOfProcessor", + "com.google.auto.value.processor.AutoValueBuilderProcessor", + "com.google.auto.value.processor.AutoValueProcessor" + ] + }, + "com.google.jimfs:jimfs": { + "java.nio.file.spi.FileSystemProvider": [ + "com.google.common.jimfs.SystemJimfsFileSystemProvider" + ] + }, + "io.grpc:grpc-core": { + "io.grpc.LoadBalancerProvider": [ + "io.grpc.internal.PickFirstLoadBalancerProvider" + ], + "io.grpc.NameResolverProvider": [ + "io.grpc.internal.DnsNameResolverProvider" + ] + }, + "io.grpc:grpc-util": { + "io.grpc.LoadBalancerProvider": [ + "io.grpc.util.OutlierDetectionLoadBalancerProvider", + "io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider" + ] + }, + "io.netty:netty-common": { + "reactor.blockhound.integration.BlockHoundIntegration": [ + "io.netty.util.internal.Hidden$NettyBlockHoundIntegration" + ] + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader": [ + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsLoaderImpl" + ], + "kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition": [ + "kotlin.reflect.jvm.internal.impl.load.java.ErasedOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.FieldOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.JavaIncompatibilityRulesOverridabilityCondition" + ] + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": { + "reactor.blockhound.integration.BlockHoundIntegration": [ + "kotlinx.coroutines.debug.CoroutinesBlockHoundIntegration" + ] + } + }, + "version": "2" +} diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index c5950c4b..5f777d41 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -11,7 +11,7 @@ application { java { withSourcesJar() toolchain { - languageVersion = JavaLanguageVersion.of(8) + languageVersion = JavaLanguageVersion.of(17) } } @@ -34,7 +34,6 @@ dependencies { testImplementation(libs.jimfs) testImplementation(libs.protobuf.gradle.plugin) testImplementation(libs.protobuf.java) - testImplementation(libs.mockito.kotlin) testImplementation(libs.junit.jupiter.engine) testImplementation(libs.mockito.core) } diff --git a/compiler/src/main/java/io/grpc/kotlin/generator/BUILD.bazel b/compiler/src/main/java/io/grpc/kotlin/generator/BUILD.bazel index 9769b4ca..2d9cea96 100644 --- a/compiler/src/main/java/io/grpc/kotlin/generator/BUILD.bazel +++ b/compiler/src/main/java/io/grpc/kotlin/generator/BUILD.bazel @@ -13,11 +13,11 @@ kt_jvm_library( "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//stub/src/main/java/io/grpc/kotlin:context", "//stub/src/main/java/io/grpc/kotlin:stub", - "@com_google_guava_guava", "@com_google_protobuf//:protobuf_java", "@io_grpc_grpc_java//core", - "@maven//:com_squareup_kotlinpoet", - "@maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", + "@grpc_kotlin_maven//:com_google_guava_guava", + "@grpc_kotlin_maven//:com_squareup_kotlinpoet", + "@grpc_kotlin_maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", ], ) diff --git a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/BUILD.bazel b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/BUILD.bazel index fd7dc7a5..006e9535 100644 --- a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/BUILD.bazel +++ b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/BUILD.bazel @@ -11,8 +11,8 @@ kt_jvm_library( srcs = glob(["*.kt"]), deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph", - "@com_google_guava_guava", "@com_google_protobuf//:protobuf_java", - "@maven//:com_squareup_kotlinpoet", + "@grpc_kotlin_maven//:com_google_guava_guava", + "@grpc_kotlin_maven//:com_squareup_kotlinpoet", ], ) diff --git a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel index 644d4282..fb2e157c 100644 --- a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel +++ b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel @@ -11,7 +11,7 @@ kt_jvm_library( srcs = glob(["*.kt"]), deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", - "@maven//:com_google_truth_truth", - "@maven//:com_squareup_kotlinpoet", + "@grpc_kotlin_maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_squareup_kotlinpoet", ], ) diff --git a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/BUILD.bazel b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/BUILD.bazel index 2bd2650d..67cca9ea 100644 --- a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/BUILD.bazel +++ b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/BUILD.bazel @@ -11,6 +11,6 @@ kt_jvm_library( srcs = ["TopologicalSortGraph.kt"], deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/sort", - "@com_google_guava_guava//:com_google_guava_guava", + "@grpc_kotlin_maven//:com_google_guava_guava", ], ) diff --git a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/TopologicalSortGraph.kt b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/TopologicalSortGraph.kt index 25e632e8..7b047a24 100644 --- a/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/TopologicalSortGraph.kt +++ b/compiler/src/main/java/io/grpc/kotlin/generator/protoc/util/graph/TopologicalSortGraph.kt @@ -23,7 +23,7 @@ import io.grpc.kotlin.generator.protoc.util.sort.TopologicalSort.sortLexicograph @Beta object TopologicalSortGraph { - fun topologicalOrdering(graph: Graph): List { + fun topologicalOrdering(graph: Graph): List { checkArgument(graph.isDirected, "Cannot get topological ordering of an undirected graph.") val partialOrdering: PartialOrdering = object : PartialOrdering { override fun getPredecessors(element: N): Set = element?.let { diff --git a/compiler/src/test/java/io/grpc/kotlin/generator/protoc/BUILD.bazel b/compiler/src/test/java/io/grpc/kotlin/generator/protoc/BUILD.bazel index 81dc6ffc..82de12a5 100644 --- a/compiler/src/test/java/io/grpc/kotlin/generator/protoc/BUILD.bazel +++ b/compiler/src/test/java/io/grpc/kotlin/generator/protoc/BUILD.bazel @@ -11,7 +11,7 @@ kt_jvm_test( deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/main/java/io/grpc/kotlin/generator/protoc/testing", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -21,7 +21,7 @@ kt_jvm_test( test_class = "io.grpc.kotlin.generator.protoc.ConstantNameTest", deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -32,7 +32,7 @@ kt_jvm_test( deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/main/java/io/grpc/kotlin/generator/protoc/testing", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -47,7 +47,7 @@ kt_jvm_test( "//compiler/src/test/proto/testing:has_nested_class_name_conflict_java_proto", "//compiler/src/test/proto/testing:has_outer_class_name_conflict_java_proto", "//compiler/src/test/proto/testing:proto-file-with-hyphen_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -64,7 +64,7 @@ kt_jvm_test( "//compiler/src/test/proto/testing:service_name_conflicts_with_file_java_proto", "//compiler/src/test/proto/testing:service_t_java_proto", "//compiler/src/test/proto/testing:test_proto3_optional_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -76,7 +76,7 @@ kt_jvm_test( "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/test/proto/testing:example3_java_proto", "//compiler/src/test/proto/testing:implicit_java_package_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -86,7 +86,7 @@ kt_jvm_test( test_class = "io.grpc.kotlin.generator.protoc.MemberSimpleNameTest", deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -97,7 +97,7 @@ kt_jvm_test( deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/test/proto/testing:test_proto3_optional_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -108,7 +108,7 @@ kt_jvm_test( deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/test/proto/testing:example3_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -119,7 +119,7 @@ kt_jvm_test( deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/test/proto/testing:example3_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -130,7 +130,7 @@ kt_jvm_test( deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/test/proto/testing:example3_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -141,7 +141,7 @@ kt_jvm_test( deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", "//compiler/src/test/proto/testing:example3_java_proto", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -151,6 +151,6 @@ kt_jvm_test( test_class = "io.grpc.kotlin.generator.protoc.ScopeTest", deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) diff --git a/compiler/src/test/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel b/compiler/src/test/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel index c0b7493e..0f85a3c5 100644 --- a/compiler/src/test/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel +++ b/compiler/src/test/java/io/grpc/kotlin/generator/protoc/testing/BUILD.bazel @@ -10,9 +10,9 @@ kt_jvm_test( test_class = "io.grpc.kotlin.generator.protoc.testing.DeclarationsSubjectTest", deps = [ "//compiler/src/main/java/io/grpc/kotlin/generator/protoc/testing", - "@maven//:com_google_truth_truth", - "@maven//:com_squareup_kotlinpoet", - "@maven//:junit_junit", + "@grpc_kotlin_maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_squareup_kotlinpoet", + "@grpc_kotlin_maven//:junit_junit", ], ) diff --git a/examples/android/build.gradle.kts b/examples/android/build.gradle.kts index 1c5e0c1d..3a9263a7 100644 --- a/examples/android/build.gradle.kts +++ b/examples/android/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { } kotlin { - jvmToolchain(8) + jvmToolchain(17) } android { diff --git a/examples/client/build.gradle.kts b/examples/client/build.gradle.kts index 78234790..2be41339 100644 --- a/examples/client/build.gradle.kts +++ b/examples/client/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } kotlin { - jvmToolchain(8) + jvmToolchain(17) } dependencies { diff --git a/examples/gradle/libs.versions.toml b/examples/gradle/libs.versions.toml index 44fd0a9d..20d04f1e 100644 --- a/examples/gradle/libs.versions.toml +++ b/examples/gradle/libs.versions.toml @@ -1,9 +1,9 @@ [plugins] android-application = { id = "com.android.application", version = "8.3.0" } android-library = { id = "com.android.library", version = "8.3.0" } -kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version = "1.9.23" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version = "1.9.23" } -protobuf = { id = "com.google.protobuf", version = "0.9.4" } +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version = "2.1.20" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version = "2.1.20" } +protobuf = { id = "com.google.protobuf", version = "0.9.5" } ktlint = { id = "org.jlleitschuh.gradle.ktlint", version = "12.1.0" } palantir-graal = { id = "com.palantir.graal", version = "0.12.0" } jib = { id = "com.google.cloud.tools.jib", version = "3.4.1" } diff --git a/examples/server/build.gradle.kts b/examples/server/build.gradle.kts index 15ec8e78..31ea7e07 100644 --- a/examples/server/build.gradle.kts +++ b/examples/server/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } kotlin { - jvmToolchain(8) + jvmToolchain(17) } dependencies { diff --git a/examples/stub-android/build.gradle.kts b/examples/stub-android/build.gradle.kts index 6c4ca182..96ef8667 100644 --- a/examples/stub-android/build.gradle.kts +++ b/examples/stub-android/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { } kotlin { - jvmToolchain(8) + jvmToolchain(17) } android { diff --git a/examples/stub-lite/build.gradle.kts b/examples/stub-lite/build.gradle.kts index d56b731f..2b787dd9 100644 --- a/examples/stub-lite/build.gradle.kts +++ b/examples/stub-lite/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { } kotlin { - jvmToolchain(8) + jvmToolchain(17) } tasks.withType().all { diff --git a/examples/stub/build.gradle.kts b/examples/stub/build.gradle.kts index ec1e9c74..b9677c80 100644 --- a/examples/stub/build.gradle.kts +++ b/examples/stub/build.gradle.kts @@ -16,7 +16,7 @@ dependencies { } kotlin { - jvmToolchain(8) + jvmToolchain(17) } tasks.withType().all { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dabf837f..54074bf6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,15 @@ [plugins] -kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version = "1.8.0" } -protobuf = { id = "com.google.protobuf", version = "0.9.4" } +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version = "2.1.20" } +protobuf = { id = "com.google.protobuf", version = "0.9.5" } test-retry = { id = "org.gradle.test-retry", version = "1.5.7" } -publish-plugin = { id = "io.github.gradle-nexus.publish-plugin", version = "1.3.0" } -dokka = { id = "org.jetbrains.dokka", version = "1.9.20" } +publish-plugin = { id = "io.github.gradle-nexus.publish-plugin", version = "2.0.0" } +dokka = { id = "org.jetbrains.dokka", version = "2.0.0" } qoomon-git-versioning = { id = "me.qoomon.git-versioning", version = "6.4.3" } kotlin-power-assert = { id = "com.bnorm.power.kotlin-power-assert", version = "0.13.0" } [libraries] -kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.8.0" } -kotlinx-coroutines-core-jvm = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core-jvm", version = "1.8.0" } -kotlinx-coroutines-debug = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-debug", version = "1.8.0" } +kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version = "1.10.1" } +kotlinx-coroutines-core-jvm = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core-jvm", version = "1.10.1" } grpc-protobuf = { group = "io.grpc", name = "grpc-protobuf", version = "1.62.2" } grpc-protobuf-lite = { group = "io.grpc", name = "grpc-protobuf-lite", version = "1.62.2" } grpc-alts = { group = "io.grpc", name = "grpc-alts", version = "1.62.2" } @@ -26,11 +25,10 @@ junit = { group = "junit", name = "junit", version = "4.13.2" } junit-platform-launcher = { group = "org.junit.platform", name = "junit-platform-launcher", version = "1.10.2" } guava = { group = "com.google.guava", name = "guava", version = "33.0.0-jre" } jimfs = { group = "com.google.jimfs", name = "jimfs", version = "1.3.0" } -protobuf-gradle-plugin = { group = "com.google.protobuf", name = "protobuf-gradle-plugin", version = "0.9.4" } -mockito-kotlin = { group = "com.nhaarman.mockitokotlin2", name = "mockito-kotlin", version = "2.2.0" } +protobuf-gradle-plugin = { group = "com.google.protobuf", name = "protobuf-gradle-plugin", version = "0.9.5" } junit-jupiter = { group = "org.junit.jupiter", name = "junit-jupiter", version = "5.10.2" } junit-jupiter-engine = { group = "org.junit.jupiter", name = "junit-jupiter-engine", version = "5.10.2" } -mockito-core = { group = "org.mockito", name = "mockito-core", version = "4.11.0" } +mockito-core = { group = "org.mockito", name = "mockito-core", version = "5.17.0" } protoc = { group = "com.google.protobuf", name = "protoc", version = "3.25.3" } protobuf-java = { group = "com.google.protobuf", name = "protobuf-java", version = "3.25.3" } truth = { group = "com.google.truth", name = "truth", version = "1.4.2" } diff --git a/grpc_kotlin_maven_install.json b/grpc_kotlin_maven_install.json new file mode 100755 index 00000000..970b277b --- /dev/null +++ b/grpc_kotlin_maven_install.json @@ -0,0 +1,665 @@ +{ + "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", + "__INPUT_ARTIFACTS_HASH": 1642566952, + "__RESOLVED_ARTIFACTS_HASH": -1327101579, + "artifacts": { + "com.google.auto.value:auto-value-annotations": { + "shasums": { + "jar": "e1c45e6beadaef9797cb0d9afd5a45621ad061cd8632012f85582853a3887825" + }, + "version": "1.10.4" + }, + "com.google.code.findbugs:jsr305": { + "shasums": { + "jar": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7" + }, + "version": "3.0.2" + }, + "com.google.errorprone:error_prone_annotations": { + "shasums": { + "jar": "f3fc8a3a0a4020706a373b00e7f57c2512dd26d1f83d28c7d38768f8682b231e" + }, + "version": "2.28.0" + }, + "com.google.guava:failureaccess": { + "shasums": { + "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064" + }, + "version": "1.0.2" + }, + "com.google.guava:guava": { + "shasums": { + "jar": "2c3e41d1b380f2044d257947a3aa82dabf3ae4b978622745254aa18b6cf89ab0" + }, + "version": "33.3.1-android" + }, + "com.google.guava:listenablefuture": { + "shasums": { + "jar": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99" + }, + "version": "9999.0-empty-to-avoid-conflict-with-guava" + }, + "com.google.j2objc:j2objc-annotations": { + "shasums": { + "jar": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64" + }, + "version": "3.0.0" + }, + "com.google.jimfs:jimfs": { + "shasums": { + "jar": "82494408bb513f5512652e7b7f63d6f31f01eff57ce35c878644ffc2d25aee4f" + }, + "version": "1.3.0" + }, + "com.google.protobuf:protobuf-java": { + "shasums": { + "jar": "0f3a4e9264db07cec429f2a68a66030e9b7487277b76863cdd0e9238cece249b" + }, + "version": "4.30.2" + }, + "com.google.protobuf:protobuf-kotlin": { + "shasums": { + "jar": "278ac5ad950b92045955404ee4b58f0054c3b6e302afbf62860004ab043ae18f" + }, + "version": "4.30.2" + }, + "com.google.truth.extensions:truth-liteproto-extension": { + "shasums": { + "jar": "df6511ca3609c510c266bfdca3d0cedd6eecbcfcb725305eb1c676b5cb4f20a0" + }, + "version": "1.4.2" + }, + "com.google.truth.extensions:truth-proto-extension": { + "shasums": { + "jar": "85fc5b5c3323d7dfdcaa359c0397cf045a5cf6e625d7d9d9d3ffa5cec7cc30e3" + }, + "version": "1.4.2" + }, + "com.google.truth:truth": { + "shasums": { + "jar": "14c297bc64ca8bc15b6baf67f160627e4562ec91624797e312e907b431113508" + }, + "version": "1.4.2" + }, + "com.squareup:kotlinpoet": { + "shasums": { + "jar": "102d5d8a289d961cd7f39204c264d272e4aad775e388d909f6050e14558aae9b" + }, + "version": "1.14.2" + }, + "junit:junit": { + "shasums": { + "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" + }, + "version": "4.13.2" + }, + "net.bytebuddy:byte-buddy": { + "shasums": { + "jar": "07b9ca6e2f970cb03f4b25651df1f2fce271d491b44e0409827887786f692d4d" + }, + "version": "1.10.9" + }, + "net.bytebuddy:byte-buddy-agent": { + "shasums": { + "jar": "fbd052d2d4cd16f707547c468621c6b7fb842c7ec8866d012ecbc6178de1f394" + }, + "version": "1.10.9" + }, + "net.java.dev.jna:jna": { + "shasums": { + "jar": "eafcc780b445434d3c5ae7fa2fb6665de1a7560d537d2c408a8e80cd14d27161" + }, + "version": "5.9.0" + }, + "net.java.dev.jna:jna-platform": { + "shasums": { + "jar": "1903bc6d87f3ab92023957b91f45a9c8eb3515bad030356ce977201e5141b724" + }, + "version": "5.9.0" + }, + "org.checkerframework:checker-qual": { + "shasums": { + "jar": "3fbc2e98f05854c3df16df9abaa955b91b15b3ecac33623208ed6424640ef0f6" + }, + "version": "3.43.0" + }, + "org.hamcrest:hamcrest-core": { + "shasums": { + "jar": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9" + }, + "version": "1.3" + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "shasums": { + "jar": "8a6cd5a3cf092acee274ce2c444dc36eefdb631579859dd4d857b3309a529c91" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "d6f91b7b0f306cca299fec74fb7c34e4874d6f5ec5b925a0b4de21901e119c3f" + }, + "version": "2.1.0" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": { + "shasums": { + "jar": "33d148db0e11debd0d90677d28242bced907f9c77730000fd597867089039d86" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": { + "shasums": { + "jar": "3db752a30074f06ee6c57984aa6f27da44f4d2bbc7f5442651f6988f1cb2b7d7" + }, + "version": "1.8.21" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core": { + "shasums": { + "jar": "fae4771dd987cfadabae129dd7f625af40d9e4f14abb7ffc72e42dccb97b7010" + }, + "version": "1.10.1" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": { + "shasums": { + "jar": "069c5988633230e074ec0d39321ec3cdaa4547c49e90ba936c63d8fc91c8c00d" + }, + "version": "1.10.1" + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": { + "shasums": { + "jar": "aeef5c2adc45adc14bd3df7de8f034d57678aa75ffddc7e3bf152e5a8e9ebd2b" + }, + "version": "1.10.1" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "7b0f19724082cbfcbc66e5abea2b9bc92cf08a1ea11e191933ed43801eb3cd05" + }, + "version": "23.0.0" + }, + "org.ow2.asm:asm": { + "shasums": { + "jar": "3c6fac2424db3d4a853b669f4e3d1d9c3c552235e19a319673f887083c2303a1" + }, + "version": "9.6" + } + }, + "dependencies": { + "com.google.guava:guava": [ + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "org.checkerframework:checker-qual" + ], + "com.google.jimfs:jimfs": [ + "com.google.guava:guava" + ], + "com.google.protobuf:protobuf-kotlin": [ + "com.google.protobuf:protobuf-java", + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "com.google.truth.extensions:truth-liteproto-extension": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.truth:truth", + "org.checkerframework:checker-qual" + ], + "com.google.truth.extensions:truth-proto-extension": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "com.google.protobuf:protobuf-java", + "com.google.truth.extensions:truth-liteproto-extension", + "com.google.truth:truth", + "org.checkerframework:checker-qual" + ], + "com.google.truth:truth": [ + "com.google.auto.value:auto-value-annotations", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:guava", + "junit:junit", + "org.checkerframework:checker-qual", + "org.ow2.asm:asm" + ], + "com.squareup:kotlinpoet": [ + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + ], + "junit:junit": [ + "org.hamcrest:hamcrest-core" + ], + "net.java.dev.jna:jna-platform": [ + "net.java.dev.jna:jna" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk7": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib-jdk8": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core": [ + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains:annotations" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": [ + "net.bytebuddy:byte-buddy", + "net.bytebuddy:byte-buddy-agent", + "net.java.dev.jna:jna", + "net.java.dev.jna:jna-platform", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm" + ] + }, + "packages": { + "com.google.auto.value:auto-value-annotations": [ + "com.google.auto.value", + "com.google.auto.value.extension.memoized", + "com.google.auto.value.extension.serializable", + "com.google.auto.value.extension.toprettystring" + ], + "com.google.code.findbugs:jsr305": [ + "javax.annotation", + "javax.annotation.concurrent", + "javax.annotation.meta" + ], + "com.google.errorprone:error_prone_annotations": [ + "com.google.errorprone.annotations", + "com.google.errorprone.annotations.concurrent" + ], + "com.google.guava:failureaccess": [ + "com.google.common.util.concurrent.internal" + ], + "com.google.guava:guava": [ + "com.google.common.annotations", + "com.google.common.base", + "com.google.common.base.internal", + "com.google.common.cache", + "com.google.common.collect", + "com.google.common.escape", + "com.google.common.eventbus", + "com.google.common.graph", + "com.google.common.hash", + "com.google.common.html", + "com.google.common.io", + "com.google.common.math", + "com.google.common.net", + "com.google.common.primitives", + "com.google.common.reflect", + "com.google.common.util.concurrent", + "com.google.common.xml", + "com.google.thirdparty.publicsuffix" + ], + "com.google.j2objc:j2objc-annotations": [ + "com.google.j2objc.annotations" + ], + "com.google.jimfs:jimfs": [ + "com.google.common.jimfs" + ], + "com.google.protobuf:protobuf-java": [ + "com.google.protobuf", + "com.google.protobuf.compiler" + ], + "com.google.protobuf:protobuf-kotlin": [ + "com.google.protobuf", + "com.google.protobuf.compiler", + "com.google.protobuf.kotlin" + ], + "com.google.truth.extensions:truth-liteproto-extension": [ + "com.google.common.truth.extensions.proto" + ], + "com.google.truth.extensions:truth-proto-extension": [ + "com.google.common.truth.extensions.proto" + ], + "com.google.truth:truth": [ + "com.google.common.truth" + ], + "com.squareup:kotlinpoet": [ + "com.squareup.kotlinpoet", + "com.squareup.kotlinpoet.jvm", + "com.squareup.kotlinpoet.tags" + ], + "junit:junit": [ + "junit.extensions", + "junit.framework", + "junit.runner", + "junit.textui", + "org.junit", + "org.junit.experimental", + "org.junit.experimental.categories", + "org.junit.experimental.max", + "org.junit.experimental.results", + "org.junit.experimental.runners", + "org.junit.experimental.theories", + "org.junit.experimental.theories.internal", + "org.junit.experimental.theories.suppliers", + "org.junit.function", + "org.junit.internal", + "org.junit.internal.builders", + "org.junit.internal.management", + "org.junit.internal.matchers", + "org.junit.internal.requests", + "org.junit.internal.runners", + "org.junit.internal.runners.model", + "org.junit.internal.runners.rules", + "org.junit.internal.runners.statements", + "org.junit.matchers", + "org.junit.rules", + "org.junit.runner", + "org.junit.runner.manipulation", + "org.junit.runner.notification", + "org.junit.runners", + "org.junit.runners.model", + "org.junit.runners.parameterized", + "org.junit.validator" + ], + "net.bytebuddy:byte-buddy": [ + "net.bytebuddy", + "net.bytebuddy.agent.builder", + "net.bytebuddy.asm", + "net.bytebuddy.build", + "net.bytebuddy.description", + "net.bytebuddy.description.annotation", + "net.bytebuddy.description.enumeration", + "net.bytebuddy.description.field", + "net.bytebuddy.description.method", + "net.bytebuddy.description.modifier", + "net.bytebuddy.description.type", + "net.bytebuddy.dynamic", + "net.bytebuddy.dynamic.loading", + "net.bytebuddy.dynamic.scaffold", + "net.bytebuddy.dynamic.scaffold.inline", + "net.bytebuddy.dynamic.scaffold.subclass", + "net.bytebuddy.implementation", + "net.bytebuddy.implementation.attribute", + "net.bytebuddy.implementation.auxiliary", + "net.bytebuddy.implementation.bind", + "net.bytebuddy.implementation.bind.annotation", + "net.bytebuddy.implementation.bytecode", + "net.bytebuddy.implementation.bytecode.assign", + "net.bytebuddy.implementation.bytecode.assign.primitive", + "net.bytebuddy.implementation.bytecode.assign.reference", + "net.bytebuddy.implementation.bytecode.collection", + "net.bytebuddy.implementation.bytecode.constant", + "net.bytebuddy.implementation.bytecode.member", + "net.bytebuddy.jar.asm", + "net.bytebuddy.jar.asm.commons", + "net.bytebuddy.jar.asm.signature", + "net.bytebuddy.matcher", + "net.bytebuddy.pool", + "net.bytebuddy.utility", + "net.bytebuddy.utility.privilege", + "net.bytebuddy.utility.visitor" + ], + "net.bytebuddy:byte-buddy-agent": [ + "net.bytebuddy.agent" + ], + "net.java.dev.jna:jna": [ + "com.sun.jna", + "com.sun.jna.internal", + "com.sun.jna.ptr", + "com.sun.jna.win32" + ], + "net.java.dev.jna:jna-platform": [ + "com.sun.jna.platform", + "com.sun.jna.platform.dnd", + "com.sun.jna.platform.linux", + "com.sun.jna.platform.mac", + "com.sun.jna.platform.unix", + "com.sun.jna.platform.unix.aix", + "com.sun.jna.platform.unix.solaris", + "com.sun.jna.platform.win32", + "com.sun.jna.platform.win32.COM", + "com.sun.jna.platform.win32.COM.tlb", + "com.sun.jna.platform.win32.COM.tlb.imp", + "com.sun.jna.platform.win32.COM.util", + "com.sun.jna.platform.win32.COM.util.annotation", + "com.sun.jna.platform.wince" + ], + "org.checkerframework:checker-qual": [ + "org.checkerframework.checker.builder.qual", + "org.checkerframework.checker.calledmethods.qual", + "org.checkerframework.checker.compilermsgs.qual", + "org.checkerframework.checker.fenum.qual", + "org.checkerframework.checker.formatter.qual", + "org.checkerframework.checker.guieffect.qual", + "org.checkerframework.checker.i18n.qual", + "org.checkerframework.checker.i18nformatter.qual", + "org.checkerframework.checker.index.qual", + "org.checkerframework.checker.initialization.qual", + "org.checkerframework.checker.interning.qual", + "org.checkerframework.checker.lock.qual", + "org.checkerframework.checker.mustcall.qual", + "org.checkerframework.checker.nullness.qual", + "org.checkerframework.checker.optional.qual", + "org.checkerframework.checker.propkey.qual", + "org.checkerframework.checker.regex.qual", + "org.checkerframework.checker.signature.qual", + "org.checkerframework.checker.signedness.qual", + "org.checkerframework.checker.tainting.qual", + "org.checkerframework.checker.units.qual", + "org.checkerframework.common.aliasing.qual", + "org.checkerframework.common.initializedfields.qual", + "org.checkerframework.common.reflection.qual", + "org.checkerframework.common.returnsreceiver.qual", + "org.checkerframework.common.subtyping.qual", + "org.checkerframework.common.util.count.report.qual", + "org.checkerframework.common.value.qual", + "org.checkerframework.dataflow.qual", + "org.checkerframework.framework.qual" + ], + "org.hamcrest:hamcrest-core": [ + "org.hamcrest", + "org.hamcrest.core", + "org.hamcrest.internal" + ], + "org.jetbrains.kotlin:kotlin-reflect": [ + "kotlin.reflect.full", + "kotlin.reflect.jvm", + "kotlin.reflect.jvm.internal", + "kotlin.reflect.jvm.internal.calls", + "kotlin.reflect.jvm.internal.impl", + "kotlin.reflect.jvm.internal.impl.builtins", + "kotlin.reflect.jvm.internal.impl.builtins.functions", + "kotlin.reflect.jvm.internal.impl.builtins.jvm", + "kotlin.reflect.jvm.internal.impl.descriptors", + "kotlin.reflect.jvm.internal.impl.descriptors.annotations", + "kotlin.reflect.jvm.internal.impl.descriptors.deserialization", + "kotlin.reflect.jvm.internal.impl.descriptors.impl", + "kotlin.reflect.jvm.internal.impl.descriptors.java", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.components", + "kotlin.reflect.jvm.internal.impl.descriptors.runtime.structure", + "kotlin.reflect.jvm.internal.impl.incremental", + "kotlin.reflect.jvm.internal.impl.incremental.components", + "kotlin.reflect.jvm.internal.impl.load.java", + "kotlin.reflect.jvm.internal.impl.load.java.components", + "kotlin.reflect.jvm.internal.impl.load.java.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.descriptors", + "kotlin.reflect.jvm.internal.impl.load.java.lazy.types", + "kotlin.reflect.jvm.internal.impl.load.java.sources", + "kotlin.reflect.jvm.internal.impl.load.java.structure", + "kotlin.reflect.jvm.internal.impl.load.java.typeEnhancement", + "kotlin.reflect.jvm.internal.impl.load.kotlin", + "kotlin.reflect.jvm.internal.impl.load.kotlin.header", + "kotlin.reflect.jvm.internal.impl.metadata", + "kotlin.reflect.jvm.internal.impl.metadata.builtins", + "kotlin.reflect.jvm.internal.impl.metadata.deserialization", + "kotlin.reflect.jvm.internal.impl.metadata.jvm", + "kotlin.reflect.jvm.internal.impl.metadata.jvm.deserialization", + "kotlin.reflect.jvm.internal.impl.name", + "kotlin.reflect.jvm.internal.impl.platform", + "kotlin.reflect.jvm.internal.impl.protobuf", + "kotlin.reflect.jvm.internal.impl.renderer", + "kotlin.reflect.jvm.internal.impl.resolve", + "kotlin.reflect.jvm.internal.impl.resolve.calls.inference", + "kotlin.reflect.jvm.internal.impl.resolve.constants", + "kotlin.reflect.jvm.internal.impl.resolve.deprecation", + "kotlin.reflect.jvm.internal.impl.resolve.descriptorUtil", + "kotlin.reflect.jvm.internal.impl.resolve.jvm", + "kotlin.reflect.jvm.internal.impl.resolve.sam", + "kotlin.reflect.jvm.internal.impl.resolve.scopes", + "kotlin.reflect.jvm.internal.impl.resolve.scopes.receivers", + "kotlin.reflect.jvm.internal.impl.serialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins", + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors", + "kotlin.reflect.jvm.internal.impl.storage", + "kotlin.reflect.jvm.internal.impl.types", + "kotlin.reflect.jvm.internal.impl.types.checker", + "kotlin.reflect.jvm.internal.impl.types.error", + "kotlin.reflect.jvm.internal.impl.types.extensions", + "kotlin.reflect.jvm.internal.impl.types.model", + "kotlin.reflect.jvm.internal.impl.types.typeUtil", + "kotlin.reflect.jvm.internal.impl.types.typesApproximation", + "kotlin.reflect.jvm.internal.impl.util", + "kotlin.reflect.jvm.internal.impl.util.capitalizeDecapitalize", + "kotlin.reflect.jvm.internal.impl.util.collectionUtils", + "kotlin.reflect.jvm.internal.impl.utils" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.jdk8", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.enums", + "kotlin.experimental", + "kotlin.internal", + "kotlin.internal.jdk7", + "kotlin.internal.jdk8", + "kotlin.io", + "kotlin.io.encoding", + "kotlin.io.path", + "kotlin.jdk7", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.jvm.jdk8", + "kotlin.jvm.optionals", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.random.jdk8", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.streams.jdk8", + "kotlin.system", + "kotlin.text", + "kotlin.text.jdk8", + "kotlin.time", + "kotlin.time.jdk8", + "kotlin.uuid" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": [ + "_COROUTINE", + "kotlinx.coroutines", + "kotlinx.coroutines.channels", + "kotlinx.coroutines.debug.internal", + "kotlinx.coroutines.flow", + "kotlinx.coroutines.flow.internal", + "kotlinx.coroutines.future", + "kotlinx.coroutines.internal", + "kotlinx.coroutines.intrinsics", + "kotlinx.coroutines.scheduling", + "kotlinx.coroutines.selects", + "kotlinx.coroutines.stream", + "kotlinx.coroutines.sync", + "kotlinx.coroutines.time" + ], + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": [ + "kotlinx.coroutines.debug", + "kotlinx.coroutines.debug.junit4", + "kotlinx.coroutines.debug.junit5" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ], + "org.ow2.asm:asm": [ + "org.objectweb.asm", + "org.objectweb.asm.signature" + ] + }, + "repositories": { + "https://repo1.maven.org/maven2/": [ + "com.google.auto.value:auto-value-annotations", + "com.google.code.findbugs:jsr305", + "com.google.errorprone:error_prone_annotations", + "com.google.guava:failureaccess", + "com.google.guava:guava", + "com.google.guava:listenablefuture", + "com.google.j2objc:j2objc-annotations", + "com.google.jimfs:jimfs", + "com.google.protobuf:protobuf-java", + "com.google.protobuf:protobuf-kotlin", + "com.google.truth.extensions:truth-liteproto-extension", + "com.google.truth.extensions:truth-proto-extension", + "com.google.truth:truth", + "com.squareup:kotlinpoet", + "junit:junit", + "net.bytebuddy:byte-buddy", + "net.bytebuddy:byte-buddy-agent", + "net.java.dev.jna:jna", + "net.java.dev.jna:jna-platform", + "org.checkerframework:checker-qual", + "org.hamcrest:hamcrest-core", + "org.jetbrains.kotlin:kotlin-reflect", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains.kotlin:kotlin-stdlib-jdk7", + "org.jetbrains.kotlin:kotlin-stdlib-jdk8", + "org.jetbrains.kotlinx:kotlinx-coroutines-core", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", + "org.jetbrains.kotlinx:kotlinx-coroutines-debug", + "org.jetbrains:annotations", + "org.ow2.asm:asm" + ] + }, + "services": { + "com.google.jimfs:jimfs": { + "java.nio.file.spi.FileSystemProvider": [ + "com.google.common.jimfs.SystemJimfsFileSystemProvider" + ] + }, + "org.jetbrains.kotlin:kotlin-reflect": { + "kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoader": [ + "kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsLoaderImpl" + ], + "kotlin.reflect.jvm.internal.impl.resolve.ExternalOverridabilityCondition": [ + "kotlin.reflect.jvm.internal.impl.load.java.ErasedOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.FieldOverridabilityCondition", + "kotlin.reflect.jvm.internal.impl.load.java.JavaIncompatibilityRulesOverridabilityCondition" + ] + }, + "org.jetbrains.kotlinx:kotlinx-coroutines-debug": { + "reactor.blockhound.integration.BlockHoundIntegration": [ + "kotlinx.coroutines.debug.CoroutinesBlockHoundIntegration" + ] + } + }, + "version": "2" +} diff --git a/kt_jvm_grpc.bzl b/kt_jvm_grpc.bzl index af649a54..d449dad3 100644 --- a/kt_jvm_grpc.bzl +++ b/kt_jvm_grpc.bzl @@ -406,7 +406,7 @@ def kt_jvm_proto_library( name = name, srcs = [helper_target + ".srcjar"], deps = [ - "@maven//:com_google_protobuf_protobuf_kotlin", + "@grpc_kotlin_maven//:com_google_protobuf_protobuf_kotlin", ] + java_protos, exports = java_exports, testonly = testonly, diff --git a/repositories.bzl b/repositories.bzl deleted file mode 100644 index 4bd88fe4..00000000 --- a/repositories.bzl +++ /dev/null @@ -1,64 +0,0 @@ -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -# For use with maven_install's artifacts. -# maven_install( -# ... -# artifacts = [ -# # Your own deps -# ] + IO_GRPC_GRPC_KOTLIN_ARTIFACTS + IO_GRPC_GRPC_JAVA_ARTIFACTS, -# ) -IO_GRPC_GRPC_KOTLIN_ARTIFACTS = [ - "com.google.guava:guava:32.0.1-android", - "com.squareup:kotlinpoet:1.14.2", - "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3", - "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3", - "org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.7.3", -] - -# For use with maven_install's override_targets. -# maven_install( -# ... -# override_targets = dict( -# IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS.items() + -# IO_GRPC_GRPC_KOTLIN_OVERRIDE_TARGETS.items(), -# "your.target:artifact": "@//third_party/artifact", -# ) -IO_GRPC_GRPC_KOTLIN_OVERRIDE_TARGETS = dict() - -# Call this after compat_repositories() to load all dependencies. -def grpc_kt_repositories(): - """Imports dependencies for kt_jvm_grpc.bzl""" - if not native.existing_rule("io_bazel_rules_kotlin"): - io_bazel_rules_kotlin() - if not native.existing_rule("com_google_protobuf"): - com_google_protobuf() - if not native.existing_rule("io_grpc_grpc_java"): - io_grpc_grpc_java() - -def io_bazel_rules_kotlin(): - rules_kotlin_version = "v1.8" - rules_kotlin_sha = "01293740a16e474669aba5b5a1fe3d368de5832442f164e4fbfc566815a8bc3a" - http_archive( - name = "io_bazel_rules_kotlin", - urls = ["https://github.com/bazelbuild/rules_kotlin/releases/download/%s/rules_kotlin_release.tgz" % rules_kotlin_version], - sha256 = rules_kotlin_sha, - ) - -def com_google_protobuf(): - protobuf_version = "24.2" - protobuf_sha = "39b52572da90ad54c883a828cb2ca68e5ac918aa75d36c3e55c9c76b94f0a4f7" - - http_archive( - name = "com_google_protobuf", - sha256 = protobuf_sha, - strip_prefix = "protobuf-%s" % protobuf_version, - urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v%s/protobuf-%s.tar.gz" % (protobuf_version, protobuf_version)], - ) - -def io_grpc_grpc_java(): - http_archive( - name = "io_grpc_grpc_java", - sha256 = "970dcec6c8eb3fc624015f24b98df78f4c857a158fce0617deceafab470b90fc", - strip_prefix = "grpc-java-1.57.2", - url = "https://github.com/grpc/grpc-java/archive/v1.57.2.zip", - ) diff --git a/stub/build.gradle.kts b/stub/build.gradle.kts index 1e288cc6..17e3b298 100644 --- a/stub/build.gradle.kts +++ b/stub/build.gradle.kts @@ -28,7 +28,6 @@ dependencies { // Testing testImplementation(libs.junit) testImplementation(libs.junit.jupiter.engine) - testImplementation(libs.kotlinx.coroutines.debug) testImplementation(libs.truth.proto.extension) testImplementation(libs.grpc.protobuf) testImplementation(libs.grpc.testing) @@ -38,7 +37,7 @@ dependencies { java { withSourcesJar() toolchain { - languageVersion = JavaLanguageVersion.of(8) + languageVersion = JavaLanguageVersion.of(17) } } diff --git a/stub/src/main/java/io/grpc/kotlin/BUILD.bazel b/stub/src/main/java/io/grpc/kotlin/BUILD.bazel index c0090b8a..cd0718d3 100644 --- a/stub/src/main/java/io/grpc/kotlin/BUILD.bazel +++ b/stub/src/main/java/io/grpc/kotlin/BUILD.bazel @@ -16,8 +16,8 @@ kt_jvm_library( ":context", "@io_grpc_grpc_java//core", "@io_grpc_grpc_java//stub", - "@maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", - "@maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm", + "@grpc_kotlin_maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", + "@grpc_kotlin_maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm", ], ) @@ -26,7 +26,7 @@ kt_jvm_library( srcs = ["GrpcContextElement.kt"], deps = [ "@io_grpc_grpc_java//context", - "@maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", - "@maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm", + "@grpc_kotlin_maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", + "@grpc_kotlin_maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm", ], ) diff --git a/stub/src/test/java/io/grpc/kotlin/AbstractCallsTest.kt b/stub/src/test/java/io/grpc/kotlin/AbstractCallsTest.kt index c8f9c80d..bb34474d 100644 --- a/stub/src/test/java/io/grpc/kotlin/AbstractCallsTest.kt +++ b/stub/src/test/java/io/grpc/kotlin/AbstractCallsTest.kt @@ -46,11 +46,11 @@ import kotlinx.coroutines.asCoroutineDispatcher import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.channels.ReceiveChannel import kotlinx.coroutines.channels.SendChannel -import kotlinx.coroutines.debug.junit4.CoroutinesTimeout import kotlinx.coroutines.launch import org.junit.After import org.junit.Before import org.junit.Rule +import org.junit.rules.Timeout abstract class AbstractCallsTest { companion object { @@ -106,7 +106,7 @@ abstract class AbstractCallsTest { } @get:Rule - val timeout = CoroutinesTimeout.seconds(10) + val timeout: Timeout = Timeout.seconds(10) // We want the coroutines timeout to come first, because it comes with useful debug logs. @get:Rule diff --git a/stub/src/test/java/io/grpc/kotlin/BUILD.bazel b/stub/src/test/java/io/grpc/kotlin/BUILD.bazel index 90383c1b..0bee37fb 100644 --- a/stub/src/test/java/io/grpc/kotlin/BUILD.bazel +++ b/stub/src/test/java/io/grpc/kotlin/BUILD.bazel @@ -11,7 +11,6 @@ kt_jvm_library( deps = [ "//stub/src/test/proto/helloworld:hello_world_kt_grpc", "@io_grpc_grpc_java//testing", - "@maven//:org_jetbrains_kotlinx_kotlinx_coroutines_debug", ], ) @@ -22,7 +21,7 @@ kt_jvm_test( deps = [ ":AbstractCallsTest", "//stub/src/test/proto/helloworld:hello_world_kt_grpc", - "@maven//:com_google_truth_extensions_truth_proto_extension", + "@grpc_kotlin_maven//:com_google_truth_extensions_truth_proto_extension", ], ) @@ -33,7 +32,7 @@ kt_jvm_test( deps = [ ":AbstractCallsTest", "//stub/src/test/proto/helloworld:hello_world_kt_grpc", - "@maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:com_google_truth_truth", ], ) @@ -44,7 +43,7 @@ kt_jvm_test( deps = [ ":AbstractCallsTest", "//stub/src/test/proto/helloworld:hello_world_kt_grpc", - "@maven//:com_google_truth_extensions_truth_proto_extension", + "@grpc_kotlin_maven//:com_google_truth_extensions_truth_proto_extension", ], ) @@ -55,8 +54,8 @@ kt_jvm_test( deps = [ "//stub/src/main/java/io/grpc/kotlin:context", "@io_grpc_grpc_java//core", - "@maven//:com_google_truth_truth", - "@maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", + "@grpc_kotlin_maven//:com_google_truth_truth", + "@grpc_kotlin_maven//:org_jetbrains_kotlinx_kotlinx_coroutines_core", ], ) @@ -67,6 +66,6 @@ kt_jvm_test( deps = [ ":AbstractCallsTest", "//stub/src/test/proto/helloworld:hello_world_kt_grpc", - "@maven//:com_google_truth_extensions_truth_proto_extension", + "@grpc_kotlin_maven//:com_google_truth_extensions_truth_proto_extension", ], )