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 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) { archiveClassifier = 'javadoc' from javadocs.destinationDir } task sourcesJar(type: Jar) { archiveClassifier = 'sources' from android.sourceSets.main.java.srcDirs } publishing { publications { maven { from components.android artifact javadocJar artifact sourcesJar } } }