zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 1 | apply plugin: "cpp" |
Eric Anderson | fb28ad2 | 2015-01-29 15:00:58 -0800 | [diff] [blame] | 2 | apply plugin: "protobuf" |
zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 3 | |
zhangkun83 | 5e60785 | 2015-01-22 12:31:56 -0800 | [diff] [blame] | 4 | description = 'The protoc plugin for gRPC Java' |
| 5 | |
Eric Anderson | fb28ad2 | 2015-01-29 15:00:58 -0800 | [diff] [blame] | 6 | buildscript { |
| 7 | repositories { |
| 8 | mavenCentral() |
| 9 | } |
| 10 | dependencies { |
| 11 | classpath libraries.protobuf_plugin |
| 12 | } |
| 13 | } |
| 14 | |
zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 15 | executables { |
| 16 | java_plugin {} |
| 17 | } |
| 18 | |
Eric Anderson | fb28ad2 | 2015-01-29 15:00:58 -0800 | [diff] [blame] | 19 | dependencies { |
| 20 | compile project(':grpc-stub'), |
| 21 | libraries.protobuf |
| 22 | } |
| 23 | |
zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 24 | binaries.all { |
nmittler | f129960 | 2015-01-30 14:55:38 -0800 | [diff] [blame] | 25 | if (toolChain in Gcc || toolChain in Clang) { |
zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 26 | cppCompiler.args "-std=c++11" |
Eric Anderson | 2049e0d | 2015-01-29 12:41:51 -0800 | [diff] [blame] | 27 | if (System.env.CXXFLAGS) { |
| 28 | cppCompiler.args System.env.CXXFLAGS |
| 29 | } |
| 30 | if (System.env.CPPFLAGS) { |
| 31 | cppCompiler.args System.env.CPPFLAGS |
| 32 | } |
zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 33 | linker.args "-lprotoc", "-lprotobuf" |
Eric Anderson | 2049e0d | 2015-01-29 12:41:51 -0800 | [diff] [blame] | 34 | if (System.env.LDFLAGS) { |
| 35 | linker.args System.env.LDFLAGS |
| 36 | } |
zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 37 | } |
| 38 | } |
| 39 | |
Eric Anderson | fb28ad2 | 2015-01-29 15:00:58 -0800 | [diff] [blame] | 40 | protobufCodeGenPlugins = ["java_plugin:$buildDir/binaries/java_pluginExecutable/java_plugin"] |
zhangkun | 9de8e4b | 2015-01-15 10:29:05 -0800 | [diff] [blame] | 41 | |
Eric Anderson | fb28ad2 | 2015-01-29 15:00:58 -0800 | [diff] [blame] | 42 | generateTestProto.dependsOn 'java_pluginExecutable' |
zsurocking | 5902c6a | 2015-02-25 20:54:53 -0800 | [diff] [blame] | 43 | test.dependsOn('testGolden','testNanoGolden') |
Eric Anderson | fb28ad2 | 2015-01-29 15:00:58 -0800 | [diff] [blame] | 44 | |
| 45 | task 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" |
zhangkun83 | 5e60785 | 2015-01-22 12:31:56 -0800 | [diff] [blame] | 49 | } |
Xiao Hang | dcff315 | 2015-02-20 15:03:06 -0800 | [diff] [blame] | 50 | |
zsurocking | 5902c6a | 2015-02-25 20:54:53 -0800 | [diff] [blame] | 51 | task testNanoGolden(type: Exec, dependsOn: 'java_pluginExecutable') { |
Jakob Buchgraber | df321fe | 2015-02-25 19:47:05 -0800 | [diff] [blame] | 52 | doFirst { |
| 53 | temporaryDir.createNewFile(); |
| 54 | } |
| 55 | |
zsurocking | 5902c6a | 2015-02-25 20:54:53 -0800 | [diff] [blame] | 56 | environment 'TEST_TMP_DIR', temporaryDir |
| 57 | commandLine './src/test/run_nano_test.sh' |
| 58 | } |
Xiao Hang | dcff315 | 2015-02-20 15:03:06 -0800 | [diff] [blame] | 59 | |
| 60 | |