group 'spiffe' version '0.4.0' buildscript { repositories { mavenCentral() jcenter() } ext.protobufPluginVersion = '0.8.7' ext.shadowPluginVersion = '4.0.3' dependencies { classpath group: 'com.google.protobuf', name: 'protobuf-gradle-plugin', version: "${protobufPluginVersion}" classpath group: 'com.github.jengelman.gradle.plugins', name: 'shadow', version: "${shadowPluginVersion}" } } ext { grpcVersion = '1.21.0' nettyVersion = '4.1.33.Final' protobufProtocVersion = '3.7.1' apacheCommonsVersion = '3.8.1' } apply plugin: 'java-library' apply plugin: 'com.github.johnrengelman.shadow' apply plugin: 'com.google.protobuf' assemble.dependsOn shadowJar shadowJar { classifier = "all" } sourceSets { main { java { srcDirs 'build/generated/source/proto/main/grpc' srcDirs 'build/generated/source/proto/main/java' } } } protobuf { protoc { artifact = "com.google.protobuf:protoc:${protobufProtocVersion}" } plugins { grpc { artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}" } } generateProtoTasks { all()*.plugins { grpc {} } } } repositories { mavenCentral() } sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 dependencies { implementation group: 'io.grpc', name: 'grpc-netty', version: "${grpcVersion}" implementation group: 'io.grpc', name: 'grpc-protobuf', version: "${grpcVersion}" implementation group: 'io.grpc', name: 'grpc-stub', version: "${grpcVersion}" implementation group: 'io.netty', name: 'netty-transport-native-epoll', version: "${nettyVersion}", classifier: 'linux-x86_64' implementation group: 'io.netty', name: 'netty-transport-native-kqueue', version: "${nettyVersion}", classifier: 'osx-x86_64' implementation group: 'org.apache.commons', name: 'commons-lang3', version: "${apacheCommonsVersion}" compileOnly group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2' }