dependencies {
    implementation project(":core")
    implementation "androidx.annotation:annotation:1.0.1"
    compileOnly "org.chromium.net:cronet-embedded:76.3809.111"

    testImplementation project(":testing")
    testImplementation "org.chromium.net:cronet-embedded:76.3809.111"
    testImplementation "junit:junit:4.12"
    testImplementation "org.mockito:mockito-core:2.19.0"
    testImplementation "org.robolectric:robolectric:3.4.2"
}

publishing {
    publications {
        library(MavenPublication) {
            artifactId 'volley-cronet'
            pom {
                name = 'Volley Cronet'
                description = 'Cronet support for Volley.'
            }
            artifact "$buildDir/outputs/aar/cronet-release.aar"
        }
    }
}
