Skip to content

Commit d67bb44

Browse files
authored
add grpc API adapter (cadence-workflow#673)
1 parent 2e290a5 commit d67bb44

17 files changed

+7613
-1
lines changed

build.gradle

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
buildscript {
22
dependencies {
33
classpath "gradle.plugin.org.jruyi.gradle:thrift-gradle-plugin:0.4.1"
4+
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.11'
45
}
56
}
67

@@ -11,6 +12,7 @@ plugins {
1112
id 'net.ltgt.errorprone' version '1.1.1'
1213
id 'java-library'
1314
id 'jacoco'
15+
id 'com.google.protobuf' version '0.8.11'
1416
}
1517

1618
repositories {
@@ -21,6 +23,8 @@ repositories {
2123
jcenter()
2224
}
2325

26+
apply plugin: 'com.google.protobuf'
27+
apply plugin: 'idea' // IntelliJ plugin to see files generated from protos
2428
apply plugin: 'maven'
2529
apply plugin: 'org.jruyi.thrift'
2630
apply plugin: 'maven-publish'
@@ -63,6 +67,14 @@ dependencies {
6367
compile group: 'io.micrometer', name: 'micrometer-core', version: '1.1.2'
6468
compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
6569
compile group: 'com.auth0', name: 'java-jwt', version:'3.10.2'
70+
compile group: 'com.google.protobuf', name: 'protobuf-java', version: '3.8.0'
71+
compile group: 'com.google.api.grpc', name: 'proto-google-common-protos', version: '1.17.0'
72+
compile group: 'io.grpc', name: 'grpc-testing', version: '1.28.0'
73+
compile group: 'com.google.protobuf', name: 'protobuf-java-util', version: '3.21.1'
74+
75+
implementation 'io.grpc:grpc-netty-shaded:1.28.0'
76+
implementation 'io.grpc:grpc-protobuf:1.28.0'
77+
implementation 'io.grpc:grpc-stub:1.28.0'
6678

6779
testCompile group: 'junit', name: 'junit', version: '4.12'
6880
testCompile group: 'com.googlecode.junit-toolbox', name: 'junit-toolbox', version: '2.4'
@@ -72,7 +84,7 @@ dependencies {
7284
license {
7385
header rootProject.file('license-header.txt')
7486
skipExistingHeaders true
75-
excludes(["**/*.json", "com/uber/cadence/*.java", "com/uber/cadence/shadower/*.java"]) // config files and generated code
87+
excludes(["**/*.json", "**/idls","com/uber/cadence/*.java", "com/uber/cadence/shadower/*.java"]) // config files and generated code
7688
}
7789

7890
task initDlsSubmodule(type: Exec) {
@@ -92,6 +104,50 @@ compileThrift {
92104
sourceItems "${projectDir}/src/main/idls/thrift/cadence.thrift","${projectDir}/src/main/idls/thrift/shared.thrift","${projectDir}/src/main/idls/thrift/shadower.thrift"
93105
}
94106

107+
sourceSets {
108+
main {
109+
proto {
110+
srcDir 'src/main/idls/proto'
111+
}
112+
java {
113+
srcDir 'src/main'
114+
}
115+
}
116+
}
117+
118+
protobuf {
119+
protoc {
120+
artifact = 'com.google.protobuf:protoc:3.11.0'
121+
}
122+
plugins {
123+
grpc {
124+
artifact = 'io.grpc:protoc-gen-grpc-java:1.28.0'
125+
}
126+
}
127+
generateProtoTasks {
128+
all().each { task -> task.dependsOn updateDlsSubmodule }
129+
all()*.plugins {
130+
grpc {
131+
outputSubDir = 'java'
132+
}
133+
}
134+
}
135+
}
136+
137+
protobuf {
138+
generatedFilesBaseDir = "$buildDir/generated-sources/proto"
139+
}
140+
idea {
141+
module {
142+
sourceDirs += file("$buildDir/generated/main/java");
143+
sourceDirs += file("$buildDir/generated/main/grpc");
144+
}
145+
}
146+
147+
clean {
148+
delete protobuf.generatedFilesBaseDir
149+
}
150+
95151
compileJava {
96152
dependsOn 'googleJavaFormat'
97153
options.encoding = 'UTF-8'
@@ -298,3 +354,4 @@ jacocoTestReport {
298354
}))
299355
}
300356
}
357+

0 commit comments

Comments
 (0)