grpc-java/binder/build.gradle

134 lines
4.0 KiB
Groovy

plugins {
id "maven-publish"
id "com.android.library"
id "ru.vyarus.animalsniffer"
id "digital.wup.android-maven-publish"
}
description = 'gRPC BinderChannel'
android {
sourceSets {
test {
java {
srcDirs += "${projectDir}/../core/src/test/java/"
setIncludes(["io/grpc/internal/FakeClock.java",
"io/grpc/binder/**"])
}
}
androidTest {
java {
srcDirs += "${projectDir}/../core/src/test/java/"
setIncludes(["io/grpc/internal/AbstractTransportTest.java",
"io/grpc/binder/**"])
}
}
}
compileSdkVersion 29
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
defaultConfig {
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
lintOptions { abortOnError false }
}
repositories {
google()
mavenCentral()
}
dependencies {
api project(':grpc-core')
implementation libraries.androidx_annotation
implementation libraries.androidx_core
implementation libraries.androidx_lifecycle_common
implementation libraries.guava
testImplementation libraries.androidx_core
testImplementation libraries.androidx_test
testImplementation libraries.androidx_lifecycle_common
testImplementation libraries.androidx_lifecycle_service
testImplementation libraries.junit
testImplementation libraries.mockito
testImplementation (libraries.robolectric) {
// Unreleased change: https://github.com/robolectric/robolectric/pull/5432
exclude group: 'com.google.auto.service', module: 'auto-service'
}
testImplementation (libraries.guava_testlib) {
exclude group: 'junit', module: 'junit'
}
testImplementation libraries.truth
androidTestAnnotationProcessor libraries.autovalue
androidTestImplementation project(':grpc-testing')
androidTestImplementation project(':grpc-protobuf-lite')
androidTestImplementation libraries.autovalue_annotation
androidTestImplementation libraries.junit
androidTestImplementation libraries.androidx_core
androidTestImplementation libraries.androidx_test
androidTestImplementation libraries.androidx_test_rules
androidTestImplementation libraries.androidx_test_ext_junit
androidTestImplementation libraries.truth
androidTestImplementation libraries.mockito_android
androidTestImplementation libraries.androidx_lifecycle_service
androidTestImplementation (libraries.guava_testlib) {
exclude group: 'junit', module: 'junit'
}
}
import net.ltgt.gradle.errorprone.CheckSeverity
tasks.withType(JavaCompile) {
options.compilerArgs += [
"-Xlint:-cast"
]
appendToProperty(it.options.errorprone.excludedPaths, ".*/R.java", "|")
// Reuses source code from grpc-core, which targets Java 7 (no method references)
options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF)
}
task javadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += files(android.getBootClasspath())
classpath += files({
android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath
}
})
options {
// Disable JavaDoc doclint on Java 8.
if (JavaVersion.current().isJava8Compatible()) {
addStringOption('Xdoclint:none', '-quiet')
}
}
}
task javadocJar(type: Jar, dependsOn: javadocs) {
classifier = 'javadoc'
from javadocs.destinationDir
}
task sourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
publishing {
publications {
maven {
from components.android
artifact javadocJar
artifact sourcesJar
}
}
}