| buildscript { |
| repositories { jcenter() } |
| dependencies { classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4' } |
| } |
| |
| apply plugin: 'com.github.johnrengelman.shadow' |
| |
| description = "gRPC: ALTS" |
| |
| sourceCompatibility = 1.7 |
| targetCompatibility = 1.7 |
| |
| buildscript { |
| repositories { |
| maven { // The google mirror is less flaky than mavenCentral() |
| url "https://maven-central.storage-download.googleapis.com/repos/central/data/" } |
| } |
| dependencies { classpath libraries.protobuf_plugin } |
| } |
| |
| dependencies { |
| compile project(':grpc-auth'), |
| project(':grpc-core'), |
| project(':grpc-netty'), |
| project(':grpc-protobuf'), |
| project(':grpc-stub'), |
| libraries.lang, |
| libraries.protobuf |
| compile (libraries.google_auth_oauth2_http) { |
| // prefer 3.0.0 from libraries instead of 1.3.9 |
| exclude group: 'com.google.code.findbugs', module: 'jsr305' |
| // prefer 20.0 from libraries instead of 19.0 |
| exclude group: 'com.google.guava', module: 'guava' |
| } |
| runtime project(':grpc-grpclb') |
| testCompile libraries.guava, |
| libraries.guava_testlib, |
| libraries.junit, |
| libraries.mockito, |
| libraries.truth |
| testRuntime libraries.netty_tcnative, |
| libraries.conscrypt |
| signature 'org.codehaus.mojo.signature:java17:1.0@signature' |
| } |
| |
| configureProtoCompilation() |
| |
| [compileJava, compileTestJava].each() { |
| // ALTS retuns a lot of futures that we mostly don't care about. |
| // protobuf calls valueof. Will be fixed in next release (google/protobuf#4046) |
| it.options.compilerArgs += [ |
| "-Xlint:-deprecation", |
| "-Xep:FutureReturnValueIgnored:OFF" |
| ] |
| } |
| |
| javadoc { exclude 'io/grpc/alts/internal/**' } |
| |
| artifacts { |
| archives shadowJar |
| } |
| |
| jar { |
| // Must use a different classifier to avoid conflicting with shadowJar |
| classifier = 'original' |
| } |
| configurations.archives.artifacts.removeAll { it.classifier == "original" } |
| |
| // We want to use grpc-netty-shaded instead of grpc-netty. But we also want our |
| // source to work with Bazel, so we rewrite the code as part of the build. |
| shadowJar { |
| classifier = null |
| dependencies { |
| exclude(dependency {true}) |
| } |
| relocate 'io.grpc.netty', 'io.grpc.netty.shaded.io.grpc.netty' |
| relocate 'io.netty', 'io.grpc.netty.shaded.io.netty' |
| } |
| |
| [ |
| install.repositories.mavenInstaller, |
| uploadArchives.repositories.mavenDeployer, |
| ]*.pom*.whenConfigured { pom -> |
| def netty = pom.dependencies.find {dep -> dep.artifactId == 'grpc-netty'} |
| // Swap our dependency to grpc-netty-shaded. Projects depending on this via |
| // project(':grpc-alts') will still be using the non-shaded form. |
| netty.artifactId = "grpc-netty-shaded" |
| // Depend on specific version of grpc-netty-shaded because it is unstable API |
| netty.version = "[" + netty.version + "]" |
| } |