apply plugin: 'application' description = "grpc Examples" startScripts.enabled = false buildscript { repositories { mavenCentral() } dependencies { classpath libraries.protobuf_plugin } } dependencies { compile project(':grpc-core'), project(':grpc-netty'), project(':grpc-protobuf'), project(':grpc-stub'), libraries.jsonp } configureProtoCompilation() task routeGuideServer(type: CreateStartScripts) { mainClassName = "io.grpc.examples.routeguide.RouteGuideServer" applicationName = "route-guide-server" outputDir = new File(project.buildDir, 'tmp') classpath = jar.outputs.files + project.configurations.runtime } task routeGuideClient(type: CreateStartScripts) { mainClassName = "io.grpc.examples.routeguide.RouteGuideClient" applicationName = "route-guide-client" outputDir = new File(project.buildDir, 'tmp') classpath = jar.outputs.files + project.configurations.runtime } task helloWorldServer(type: CreateStartScripts) { mainClassName = "io.grpc.examples.helloworld.HelloWorldServer" applicationName = "hello-world-server" outputDir = new File(project.buildDir, 'tmp') classpath = jar.outputs.files + project.configurations.runtime } task helloWorldClient(type: CreateStartScripts) { mainClassName = "io.grpc.examples.helloworld.HelloWorldClient" applicationName = "hello-world-client" outputDir = new File(project.buildDir, 'tmp') classpath = jar.outputs.files + project.configurations.runtime } applicationDistribution.into("bin") { from(routeGuideServer) from(routeGuideClient) from(helloWorldServer) from(helloWorldClient) fileMode = 0755 } // Allow intellij projects to refer to generated-sources idea { module { // The whole build dir is excluded by default, but we need build/generated-sources, // which contains the generated proto classes. excludeDirs = [file('.gradle')] if (buildDir.exists()) { excludeDirs += files(buildDir.listFiles()) excludeDirs -= file("$buildDir/generated-sources") } } }