description = 'gRPC: Protobuf'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath libraries.protobuf_plugin
    }
}

dependencies {
    compile project(':grpc-core'),
            libraries.protobuf,
            libraries.guava,
            libraries.protobuf_util

    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:java16:1.1@signature"
}

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