mirror of https://github.com/grpc/grpc-java.git
293 lines
10 KiB
Groovy
293 lines
10 KiB
Groovy
plugins {
|
|
// Provide convenience executables for trying out the examples.
|
|
id 'application'
|
|
id 'com.google.protobuf' version '0.9.1'
|
|
// Generate IntelliJ IDEA's .idea & .iml project files
|
|
id 'idea'
|
|
}
|
|
|
|
repositories {
|
|
maven { // The google mirror is less flaky than mavenCentral()
|
|
url "https://maven-central.storage-download.googleapis.com/maven2/" }
|
|
mavenCentral()
|
|
mavenLocal()
|
|
}
|
|
|
|
sourceCompatibility = 1.8
|
|
targetCompatibility = 1.8
|
|
|
|
// IMPORTANT: You probably want the non-SNAPSHOT version of gRPC. Make sure you
|
|
// are looking at a tagged version of the example and not "master"!
|
|
|
|
// Feel free to delete the comment at the next line. It is just for safely
|
|
// updating the version in our release process.
|
|
def grpcVersion = '1.55.0-SNAPSHOT' // CURRENT_GRPC_VERSION
|
|
def protobufVersion = '3.21.7'
|
|
def protocVersion = protobufVersion
|
|
|
|
dependencies {
|
|
implementation "io.grpc:grpc-protobuf:${grpcVersion}"
|
|
implementation "io.grpc:grpc-services:${grpcVersion}"
|
|
implementation "io.grpc:grpc-stub:${grpcVersion}"
|
|
compileOnly "org.apache.tomcat:annotations-api:6.0.53"
|
|
|
|
// examples/advanced need this for JsonFormat
|
|
implementation "com.google.protobuf:protobuf-java-util:${protobufVersion}"
|
|
|
|
runtimeOnly "io.grpc:grpc-netty-shaded:${grpcVersion}"
|
|
|
|
testImplementation "io.grpc:grpc-testing:${grpcVersion}"
|
|
testImplementation "junit:junit:4.13.2"
|
|
testImplementation "org.mockito:mockito-core:3.4.0"
|
|
}
|
|
|
|
protobuf {
|
|
protoc { artifact = "com.google.protobuf:protoc:${protocVersion}" }
|
|
plugins {
|
|
grpc { artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}" }
|
|
}
|
|
generateProtoTasks {
|
|
all()*.plugins { grpc {} }
|
|
}
|
|
}
|
|
|
|
// Inform IDEs like IntelliJ IDEA, Eclipse or NetBeans about the generated code.
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
srcDirs 'build/generated/source/proto/main/grpc'
|
|
srcDirs 'build/generated/source/proto/main/java'
|
|
}
|
|
}
|
|
}
|
|
|
|
startScripts.enabled = false
|
|
|
|
task routeGuideServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.routeguide.RouteGuideServer'
|
|
applicationName = 'route-guide-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task routeGuideClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.routeguide.RouteGuideClient'
|
|
applicationName = 'route-guide-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task helloWorldServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.helloworld.HelloWorldServer'
|
|
applicationName = 'hello-world-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task helloWorldClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.helloworld.HelloWorldClient'
|
|
applicationName = 'hello-world-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task retryingHelloWorldServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.retrying.RetryingHelloWorldServer'
|
|
applicationName = 'retrying-hello-world-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task retryingHelloWorldClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.retrying.RetryingHelloWorldClient'
|
|
applicationName = 'retrying-hello-world-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task hedgingHelloWorldServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.hedging.HedgingHelloWorldServer'
|
|
applicationName = 'hedging-hello-world-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task hedgingHelloWorldClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.hedging.HedgingHelloWorldClient'
|
|
applicationName = 'hedging-hello-world-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task compressingHelloWorldClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.experimental.CompressingHelloWorldClient'
|
|
applicationName = 'compressing-hello-world-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task manualFlowControlClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.manualflowcontrol.ManualFlowControlClient'
|
|
applicationName = 'manual-flow-control-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task manualFlowControlServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.manualflowcontrol.ManualFlowControlServer'
|
|
applicationName = 'manual-flow-control-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task waitForReadyClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.waitforready.WaitForReadyClient'
|
|
applicationName = 'wait-for-ready-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task loadBalanceServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.loadbalance.LoadBalanceServer'
|
|
applicationName = 'load-balance-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task loadBalanceClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.loadbalance.LoadBalanceClient'
|
|
applicationName = 'load-balance-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task customLoadBalanceClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.customloadbalance.CustomLoadBalanceClient'
|
|
applicationName = 'custom-load-balance-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task nameResolveServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.nameresolve.NameResolveServer'
|
|
applicationName = 'name-resolve-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task nameResolveClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.nameresolve.NameResolveClient'
|
|
applicationName = 'name-resolve-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task deadlineServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.deadline.DeadlineServer'
|
|
applicationName = 'deadline-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task keepAliveServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.keepalive.KeepAliveServer'
|
|
applicationName = 'keep-alive-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task deadlineClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.deadline.DeadlineClient'
|
|
applicationName = 'deadline-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task keepAliveClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.keepalive.KeepAliveClient'
|
|
applicationName = 'keep-alive-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task cancellationClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.cancellation.CancellationClient'
|
|
applicationName = 'cancellation-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task cancellationServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.cancellation.CancellationServer'
|
|
applicationName = 'cancellation-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task healthServiceServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.healthservice.HealthServiceServer'
|
|
applicationName = 'health-service-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task healthServiceClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.healthservice.HealthServiceClient'
|
|
applicationName = 'health-service-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task multiplexingServer(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.multiplex.MultiplexingServer'
|
|
applicationName = 'multiplexing-server'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task sharingClient(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.multiplex.SharingClient'
|
|
applicationName = 'sharing-client'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
task errorDetails(type: CreateStartScripts) {
|
|
mainClass = 'io.grpc.examples.errordetails.ErrorDetailsExample'
|
|
applicationName = 'error-details'
|
|
outputDir = new File(project.buildDir, 'tmp/scripts/' + name)
|
|
classpath = startScripts.classpath
|
|
}
|
|
|
|
applicationDistribution.into('bin') {
|
|
from(routeGuideServer)
|
|
from(routeGuideClient)
|
|
from(helloWorldServer)
|
|
from(helloWorldClient)
|
|
from(hedgingHelloWorldClient)
|
|
from(hedgingHelloWorldServer)
|
|
from(retryingHelloWorldClient)
|
|
from(retryingHelloWorldServer)
|
|
from(compressingHelloWorldClient)
|
|
from(manualFlowControlClient)
|
|
from(manualFlowControlServer)
|
|
from(waitForReadyClient)
|
|
from(loadBalanceServer)
|
|
from(loadBalanceClient)
|
|
from(customLoadBalanceClient)
|
|
from(nameResolveServer)
|
|
from(nameResolveClient)
|
|
from(deadlineServer)
|
|
from(deadlineClient)
|
|
from(keepAliveServer)
|
|
from(keepAliveClient)
|
|
from(healthServiceServer)
|
|
from(healthServiceClient)
|
|
from(cancellationClient)
|
|
from(cancellationServer)
|
|
from(multiplexingServer)
|
|
from(sharingClient)
|
|
from(errorDetails)
|
|
fileMode = 0755
|
|
}
|