1*e07d83d3SAndroid Build Coastguard Workerplugins { 2*e07d83d3SAndroid Build Coastguard Worker id "java-library" 3*e07d83d3SAndroid Build Coastguard Worker id "maven-publish" 4*e07d83d3SAndroid Build Coastguard Worker 5*e07d83d3SAndroid Build Coastguard Worker id "com.github.johnrengelman.shadow" 6*e07d83d3SAndroid Build Coastguard Worker id "com.google.protobuf" 7*e07d83d3SAndroid Build Coastguard Worker id "ru.vyarus.animalsniffer" 8*e07d83d3SAndroid Build Coastguard Worker} 9*e07d83d3SAndroid Build Coastguard Worker 10*e07d83d3SAndroid Build Coastguard Workerdescription = "gRPC: Authorization" 11*e07d83d3SAndroid Build Coastguard Worker 12*e07d83d3SAndroid Build Coastguard Workerdependencies { 13*e07d83d3SAndroid Build Coastguard Worker implementation project(':grpc-protobuf'), 14*e07d83d3SAndroid Build Coastguard Worker project(':grpc-core'), 15*e07d83d3SAndroid Build Coastguard Worker libraries.guava.jre // JRE required by transitive protobuf-java-util 16*e07d83d3SAndroid Build Coastguard Worker 17*e07d83d3SAndroid Build Coastguard Worker annotationProcessor libraries.auto.value 18*e07d83d3SAndroid Build Coastguard Worker compileOnly libraries.javax.annotation 19*e07d83d3SAndroid Build Coastguard Worker 20*e07d83d3SAndroid Build Coastguard Worker testImplementation project(':grpc-testing'), 21*e07d83d3SAndroid Build Coastguard Worker project(':grpc-testing-proto'), 22*e07d83d3SAndroid Build Coastguard Worker testFixtures(project(':grpc-core')) 23*e07d83d3SAndroid Build Coastguard Worker testImplementation (libraries.guava.testlib) { 24*e07d83d3SAndroid Build Coastguard Worker exclude group: 'junit', module: 'junit' 25*e07d83d3SAndroid Build Coastguard Worker } 26*e07d83d3SAndroid Build Coastguard Worker 27*e07d83d3SAndroid Build Coastguard Worker def xdsDependency = implementation project(':grpc-xds') 28*e07d83d3SAndroid Build Coastguard Worker shadow configurations.implementation.getDependencies().minus([xdsDependency]) 29*e07d83d3SAndroid Build Coastguard Worker shadow project(path: ':grpc-xds', configuration: 'shadow') 30*e07d83d3SAndroid Build Coastguard Worker 31*e07d83d3SAndroid Build Coastguard Worker signature libraries.signature.java 32*e07d83d3SAndroid Build Coastguard Worker} 33*e07d83d3SAndroid Build Coastguard Worker 34*e07d83d3SAndroid Build Coastguard Workertasks.named("jar").configure { 35*e07d83d3SAndroid Build Coastguard Worker archiveClassifier = 'original' 36*e07d83d3SAndroid Build Coastguard Worker} 37*e07d83d3SAndroid Build Coastguard Worker 38*e07d83d3SAndroid Build Coastguard Workertasks.named("shadowJar").configure { 39*e07d83d3SAndroid Build Coastguard Worker archiveClassifier = null 40*e07d83d3SAndroid Build Coastguard Worker dependencies { 41*e07d83d3SAndroid Build Coastguard Worker exclude(dependency {true}) 42*e07d83d3SAndroid Build Coastguard Worker } 43*e07d83d3SAndroid Build Coastguard Worker relocate 'io.grpc.xds', 'io.grpc.xds.shaded.io.grpc.xds' 44*e07d83d3SAndroid Build Coastguard Worker relocate 'udpa.annotations', 'io.grpc.xds.shaded.udpa.annotations' 45*e07d83d3SAndroid Build Coastguard Worker relocate 'com.github.udpa', 'io.grpc.xds.shaded.com.github.udpa' 46*e07d83d3SAndroid Build Coastguard Worker relocate 'envoy.annotations', 'io.grpc.xds.shaded.envoy.annotations' 47*e07d83d3SAndroid Build Coastguard Worker relocate 'io.envoyproxy', 'io.grpc.xds.shaded.io.envoyproxy' 48*e07d83d3SAndroid Build Coastguard Worker relocate 'com.google.api.expr', 'io.grpc.xds.shaded.com.google.api.expr' 49*e07d83d3SAndroid Build Coastguard Worker} 50*e07d83d3SAndroid Build Coastguard Worker 51*e07d83d3SAndroid Build Coastguard Workertasks.named("compileJava").configure { 52*e07d83d3SAndroid Build Coastguard Worker it.options.compilerArgs += [ 53*e07d83d3SAndroid Build Coastguard Worker "-Xlint:-processing", 54*e07d83d3SAndroid Build Coastguard Worker ] 55*e07d83d3SAndroid Build Coastguard Worker} 56*e07d83d3SAndroid Build Coastguard Worker 57*e07d83d3SAndroid Build Coastguard Workerpublishing { 58*e07d83d3SAndroid Build Coastguard Worker publications { 59*e07d83d3SAndroid Build Coastguard Worker maven(MavenPublication) { 60*e07d83d3SAndroid Build Coastguard Worker // We want this to throw an exception if it isn't working 61*e07d83d3SAndroid Build Coastguard Worker def originalJar = artifacts.find { dep -> dep.classifier == 'original'} 62*e07d83d3SAndroid Build Coastguard Worker artifacts.remove(originalJar) 63*e07d83d3SAndroid Build Coastguard Worker 64*e07d83d3SAndroid Build Coastguard Worker pom.withXml { 65*e07d83d3SAndroid Build Coastguard Worker def dependenciesNode = new Node(null, 'dependencies') 66*e07d83d3SAndroid Build Coastguard Worker project.configurations.shadow.allDependencies.each { dep -> 67*e07d83d3SAndroid Build Coastguard Worker def dependencyNode = dependenciesNode.appendNode('dependency') 68*e07d83d3SAndroid Build Coastguard Worker dependencyNode.appendNode('groupId', dep.group) 69*e07d83d3SAndroid Build Coastguard Worker dependencyNode.appendNode('artifactId', dep.name) 70*e07d83d3SAndroid Build Coastguard Worker dependencyNode.appendNode('version', dep.version) 71*e07d83d3SAndroid Build Coastguard Worker dependencyNode.appendNode('scope', 'compile') 72*e07d83d3SAndroid Build Coastguard Worker } 73*e07d83d3SAndroid Build Coastguard Worker asNode().dependencies[0].replaceNode(dependenciesNode) 74*e07d83d3SAndroid Build Coastguard Worker } 75*e07d83d3SAndroid Build Coastguard Worker } 76*e07d83d3SAndroid Build Coastguard Worker } 77*e07d83d3SAndroid Build Coastguard Worker} 78*e07d83d3SAndroid Build Coastguard Worker 79*e07d83d3SAndroid Build Coastguard Workertasks.named("publishMavenPublicationToMavenRepository").configure { 80*e07d83d3SAndroid Build Coastguard Worker enabled = false 81*e07d83d3SAndroid Build Coastguard Worker} 82