| pluginManagement { | |
| // https://issuetracker.google.com/issues/342522142#comment8 | |
| // use D8/R8 8.0.44 or 8.1.44 with AGP 7.4 if needed. | |
| buildscript { | |
| repositories { | |
| mavenCentral() | |
| maven { | |
| url = uri("https://storage.googleapis.com/r8-releases/raw") | |
| } | |
| } | |
| dependencies { | |
| classpath("com.android.tools:r8:8.1.44") | |
| } | |
| } | |
| plugins { | |
| // https://developer.android.com/build/releases/gradle-plugin | |
| // 8+ has many changes: https://github.com/grpc/grpc-java/issues/10152 | |
| id "com.android.application" version "7.4.2" | |
| id "com.android.library" version "7.4.2" | |
| // https://github.com/kt3k/coveralls-gradle-plugin/tags | |
| id "com.github.kt3k.coveralls" version "2.12.2" | |
| // https://github.com/GoogleCloudPlatform/appengine-plugins/releases | |
| id "com.google.cloud.tools.appengine" version "2.8.7" | |
| // https://github.com/GoogleContainerTools/jib/blob/master/jib-gradle-plugin/CHANGELOG.md | |
| id "com.google.cloud.tools.jib" version "3.5.4" | |
| // https://github.com/google/osdetector-gradle-plugin/tags | |
| id "com.google.osdetector" version "1.7.3" | |
| // https://github.com/google/protobuf-gradle-plugin/releases | |
| // 0.10+ requires Java 11+ | |
| id "com.google.protobuf" version "0.9.5" | |
| // https://github.com/GradleUp/shadow/releases | |
| // 8.3.2+ requires Java 11+ | |
| // 8.3.1 breaks apache imports for netty/shaded, fixed in 8.3.2 | |
| id "com.gradleup.shadow" version "8.3.0" | |
| // https://github.com/melix/japicmp-gradle-plugin/blob/master/CHANGELOG.txt | |
| id "me.champeau.gradle.japicmp" version "0.4.6" | |
| // https://github.com/melix/jmh-gradle-plugin/releases | |
| id "me.champeau.jmh" version "0.7.3" | |
| // https://github.com/tbroyer/gradle-errorprone-plugin/releases | |
| // 5+ requires Java 11+ | |
| id "net.ltgt.errorprone" version "4.4.0" | |
| // https://github.com/xvik/gradle-animalsniffer-plugin/releases | |
| id "ru.vyarus.animalsniffer" version "2.0.1" | |
| } | |
| resolutionStrategy { | |
| eachPlugin { | |
| if (target.id.namespace == "com.android") { | |
| useModule("com.android.tools.build:gradle:${target.version}") | |
| } | |
| if (requested.id.id.startsWith('com.google.cloud.tools.appengine')) { | |
| useModule("com.google.cloud.tools:appengine-gradle-plugin:${target.version}") | |
| } | |
| } | |
| } | |
| repositories { | |
| gradlePluginPortal() | |
| google() | |
| } | |
| } | |
| rootProject.name = "grpc" | |
| include ":grpc-api" | |
| include ":grpc-core" | |
| include ":grpc-context" | |
| include ":grpc-stub" | |
| include ":grpc-census" | |
| include ":grpc-auth" | |
| include ":grpc-okhttp" | |
| include ":grpc-protobuf" | |
| include ":grpc-protobuf-lite" | |
| include ":grpc-netty" | |
| include ":grpc-netty-shaded" | |
| include ":grpc-googleapis" | |
| include ":grpc-grpclb" | |
| include ":grpc-testing" | |
| include ":grpc-testing-proto" | |
| include ":grpc-interop-testing" | |
| include ":grpc-gae-interop-testing-jdk8" | |
| include ":grpc-all" | |
| include ":grpc-alts" | |
| include ":grpc-benchmarks" | |
| include ":grpc-services" | |
| include ":grpc-servlet" | |
| include ":grpc-servlet-jakarta" | |
| include ":grpc-s2a" | |
| include ":grpc-xds" | |
| include ":grpc-bom" | |
| include ":grpc-rls" | |
| include ":grpc-authz" | |
| include ":grpc-gcp-csm-observability" | |
| include ":grpc-gcp-observability" | |
| include ":grpc-gcp-observability:interop" | |
| include ":grpc-istio-interop-testing" | |
| include ":grpc-inprocess" | |
| include ":grpc-util" | |
| include ":grpc-opentelemetry" | |
| include ":grpc-context-override-opentelemetry" | |
| include ":grpc-autosharding" | |
| project(':grpc-api').projectDir = "$rootDir/api" as File | |
| project(':grpc-core').projectDir = "$rootDir/core" as File | |
| project(':grpc-context').projectDir = "$rootDir/context" as File | |
| project(':grpc-stub').projectDir = "$rootDir/stub" as File | |
| project(':grpc-census').projectDir = "$rootDir/census" as File | |
| project(':grpc-auth').projectDir = "$rootDir/auth" as File | |
| project(':grpc-okhttp').projectDir = "$rootDir/okhttp" as File | |
| project(':grpc-protobuf').projectDir = "$rootDir/protobuf" as File | |
| project(':grpc-protobuf-lite').projectDir = "$rootDir/protobuf-lite" as File | |
| project(':grpc-netty').projectDir = "$rootDir/netty" as File | |
| project(':grpc-netty-shaded').projectDir = "$rootDir/netty/shaded" as File | |
| project(':grpc-googleapis').projectDir = "$rootDir/googleapis" as File | |
| project(':grpc-grpclb').projectDir = "$rootDir/grpclb" as File | |
| project(':grpc-testing').projectDir = "$rootDir/testing" as File | |
| project(':grpc-testing-proto').projectDir = "$rootDir/testing-proto" as File | |
| project(':grpc-interop-testing').projectDir = "$rootDir/interop-testing" as File | |
| project(':grpc-gae-interop-testing-jdk8').projectDir = "$rootDir/gae-interop-testing/gae-jdk8" as File | |
| project(':grpc-all').projectDir = "$rootDir/all" as File | |
| project(':grpc-alts').projectDir = "$rootDir/alts" as File | |
| project(':grpc-benchmarks').projectDir = "$rootDir/benchmarks" as File | |
| project(':grpc-services').projectDir = "$rootDir/services" as File | |
| project(':grpc-servlet').projectDir = "$rootDir/servlet" as File | |
| project(':grpc-servlet-jakarta').projectDir = "$rootDir/servlet/jakarta" as File | |
| project(':grpc-s2a').projectDir = "$rootDir/s2a" as File | |
| project(':grpc-xds').projectDir = "$rootDir/xds" as File | |
| project(':grpc-bom').projectDir = "$rootDir/bom" as File | |
| project(':grpc-rls').projectDir = "$rootDir/rls" as File | |
| project(':grpc-authz').projectDir = "$rootDir/authz" as File | |
| project(':grpc-gcp-csm-observability').projectDir = "$rootDir/gcp-csm-observability" as File | |
| project(':grpc-gcp-observability').projectDir = "$rootDir/gcp-observability" as File | |
| project(':grpc-gcp-observability:interop').projectDir = "$rootDir/gcp-observability/interop" as File | |
| project(':grpc-istio-interop-testing').projectDir = "$rootDir/istio-interop-testing" as File | |
| project(':grpc-inprocess').projectDir = "$rootDir/inprocess" as File | |
| project(':grpc-util').projectDir = "$rootDir/util" as File | |
| project(':grpc-opentelemetry').projectDir = "$rootDir/opentelemetry" as File | |
| project(':grpc-context-override-opentelemetry').projectDir = "$rootDir/contextstorage" as File | |
| project(':grpc-autosharding').projectDir = "$rootDir/autosharding" as File | |
| if (settings.hasProperty('skipCodegen') && skipCodegen.toBoolean()) { | |
| println '*** Skipping the build of codegen and compilation of proto files because skipCodegen=true' | |
| } else { | |
| include ":grpc-compiler" | |
| project(':grpc-compiler').projectDir = "$rootDir/compiler" as File | |
| } | |
| if (settings.hasProperty('skipAndroid') && skipAndroid.toBoolean()) { | |
| println ' * Skipping the build of Android projects because skipAndroid=true' | |
| } else { | |
| println '*** Android SDK is required. To avoid building Android projects, set -PskipAndroid=true' | |
| include ":grpc-cronet" | |
| project(':grpc-cronet').projectDir = "$rootDir/cronet" as File | |
| include ":grpc-android" | |
| project(':grpc-android').projectDir = "$rootDir/android" as File | |
| include ":grpc-android-interop-testing" | |
| project(':grpc-android-interop-testing').projectDir = "$rootDir/android-interop-testing" as File | |
| include ":grpc-binder" | |
| project(':grpc-binder').projectDir = "$rootDir/binder" as File | |
| } |