blob: 6517b951b84df788f476523e65a950a10fd3ac34 [file] [log] [blame]
zhangkun9de8e4b2015-01-15 10:29:05 -08001apply plugin: "cpp"
Eric Andersonfb28ad22015-01-29 15:00:58 -08002apply plugin: "protobuf"
zhangkun9de8e4b2015-01-15 10:29:05 -08003
zhangkun835e607852015-01-22 12:31:56 -08004description = 'The protoc plugin for gRPC Java'
5
Eric Andersonfb28ad22015-01-29 15:00:58 -08006buildscript {
7 repositories {
8 mavenCentral()
9 }
10 dependencies {
11 classpath libraries.protobuf_plugin
12 }
13}
14
zhangkun9de8e4b2015-01-15 10:29:05 -080015executables {
16 java_plugin {}
17}
18
Eric Andersonfb28ad22015-01-29 15:00:58 -080019dependencies {
20 compile project(':grpc-stub'),
21 libraries.protobuf
22}
23
zhangkun9de8e4b2015-01-15 10:29:05 -080024binaries.all {
nmittlerf1299602015-01-30 14:55:38 -080025 if (toolChain in Gcc || toolChain in Clang) {
zhangkun9de8e4b2015-01-15 10:29:05 -080026 cppCompiler.args "-std=c++11"
Eric Anderson2049e0d2015-01-29 12:41:51 -080027 if (System.env.CXXFLAGS) {
28 cppCompiler.args System.env.CXXFLAGS
29 }
30 if (System.env.CPPFLAGS) {
31 cppCompiler.args System.env.CPPFLAGS
32 }
zhangkun9de8e4b2015-01-15 10:29:05 -080033 linker.args "-lprotoc", "-lprotobuf"
Eric Anderson2049e0d2015-01-29 12:41:51 -080034 if (System.env.LDFLAGS) {
35 linker.args System.env.LDFLAGS
36 }
zhangkun9de8e4b2015-01-15 10:29:05 -080037 }
38}
39
Eric Andersonfb28ad22015-01-29 15:00:58 -080040protobufCodeGenPlugins = ["java_plugin:$buildDir/binaries/java_pluginExecutable/java_plugin"]
zhangkun9de8e4b2015-01-15 10:29:05 -080041
Eric Andersonfb28ad22015-01-29 15:00:58 -080042generateTestProto.dependsOn 'java_pluginExecutable'
Xiao Hangdcff3152015-02-20 15:03:06 -080043test.dependsOn('testGolden','testNanoGolden')
Eric Andersonfb28ad22015-01-29 15:00:58 -080044
45task testGolden(type: Exec, dependsOn: 'generateTestProto') {
46 executable "diff"
47 args "$buildDir/generated-sources/test/io/grpc/testing/integration/TestServiceGrpc.java",
48 "$projectDir/src/test/golden/TestService.java.txt"
zhangkun835e607852015-01-22 12:31:56 -080049}
Xiao Hangdcff3152015-02-20 15:03:06 -080050
51task testNanoGolden(type: Exec, dependsOn: 'java_pluginExecutable') {
52 environment 'TEST_TMP_DIR', temporaryDir
53 commandLine './src/test/run_nano_test.sh'
54}
55
56