plugins {
    id "java"
    id "maven-publish"

    id "com.google.protobuf"
    id "me.champeau.gradle.japicmp"
    id "ru.vyarus.animalsniffer"
}

description = 'gRPC: Protobuf'

dependencies {
    compile project(':grpc-api'),
            libraries.protobuf
    compile (libraries.guava) {
        // prefer 2.3.2 from libraries instead of 2.1.3
        exclude group: 'com.google.errorprone', module: 'error_prone_annotations'
        // prefer 3.0.2 from libraries instead of 3.0.1
        exclude group: 'com.google.code.findbugs', module: 'jsr305'
        // prefer 1.17 from libraries instead of 1.14
        exclude group: 'org.codehaus.mojo', module: 'animal-sniffer-annotations'
    }

    compile (libraries.google_api_protos) {
        // 'com.google.api:api-common' transitively depends on auto-value, which breaks our
        // annotations.
        exclude group: 'com.google.api', module: 'api-common'
        // Prefer our more up-to-date protobuf over 3.2.0
        exclude group: 'com.google.protobuf', module: 'protobuf-java'
    }

    compile (project(':grpc-protobuf-lite')) {
        exclude group: 'com.google.protobuf', module: 'protobuf-lite'
    }

    signature "org.codehaus.mojo.signature:java17:1.0@signature"
}

javadoc.options.links 'https://developers.google.com/protocol-buffers/docs/reference/java/'
