description = "gRPC: OkHttp"
dependencies {
    compile project(':grpc-core'),
            libraries.okhttp,
            libraries.okio

    // Tests depend on base class defined by core module.
    testCompile project(':grpc-core').sourceSets.test.output,
                project(':grpc-testing'),
                project(':grpc-netty')
    signature "org.codehaus.mojo.signature:java16:1.1@signature"
}

project.sourceSets {
    main {
        java {
            srcDir "${projectDir}/third_party/okhttp/java"
        }
    }
}

checkstyleMain.exclude '**/io/grpc/okhttp/internal/**'

javadoc.exclude 'io/grpc/okhttp/internal/**'
javadoc.options.links 'http://square.github.io/okhttp/2.x/okhttp/'
