mirror of https://github.com/grpc/grpc-java.git
136 lines
4.1 KiB
Groovy
136 lines
4.1 KiB
Groovy
plugins {
|
|
id "maven-publish"
|
|
id "com.android.library"
|
|
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 30
|
|
compileOptions {
|
|
sourceCompatibility 1.8
|
|
targetCompatibility 1.8
|
|
}
|
|
defaultConfig {
|
|
minSdkVersion 19
|
|
targetSdkVersion 30
|
|
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.core
|
|
testImplementation libraries.androidx.lifecycle.common
|
|
testImplementation libraries.androidx.lifecycle.service
|
|
testImplementation libraries.junit
|
|
testImplementation libraries.mockito.core
|
|
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.auto.value
|
|
androidTestImplementation project(':grpc-testing')
|
|
androidTestImplementation project(':grpc-protobuf-lite')
|
|
androidTestImplementation libraries.auto.value.annotations
|
|
androidTestImplementation libraries.junit
|
|
androidTestImplementation libraries.androidx.core
|
|
androidTestImplementation libraries.androidx.test.core
|
|
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).configureEach {
|
|
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)
|
|
}
|
|
|
|
tasks.register("javadocs", Javadoc) {
|
|
source = android.sourceSets.main.java.srcDirs
|
|
exclude 'io/grpc/binder/internal/**'
|
|
exclude 'io/grpc/binder/Internal*'
|
|
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')
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.register("javadocJar", Jar) {
|
|
dependsOn javadocs
|
|
archiveClassifier = 'javadoc'
|
|
from javadocs.destinationDir
|
|
}
|
|
|
|
tasks.register("sourcesJar", Jar) {
|
|
archiveClassifier = 'sources'
|
|
from android.sourceSets.main.java.srcDirs
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
maven {
|
|
from components.android
|
|
|
|
artifact javadocJar
|
|
artifact sourcesJar
|
|
}
|
|
}
|
|
}
|