1plugins { 2 id "maven-publish" 3 4 id "com.android.library" 5} 6 7description = "gRPC: Cronet Android" 8 9repositories { 10 google() 11 mavenCentral() 12} 13 14android { 15 namespace 'io.grpc.cronet' 16 compileSdkVersion 33 17 defaultConfig { 18 minSdkVersion 19 19 targetSdkVersion 33 20 versionCode 1 21 versionName "1.0" 22 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 23 } 24 buildTypes { 25 debug { minifyEnabled false } 26 release { 27 minifyEnabled false 28 consumerProguardFiles 'proguard-rules.pro' 29 } 30 } 31 compileOptions { 32 sourceCompatibility JavaVersion.VERSION_1_8 33 targetCompatibility JavaVersion.VERSION_1_8 34 } 35 testOptions { unitTests { includeAndroidResources = true } } 36 lintOptions { disable 'InvalidPackage' } 37 publishing { 38 singleVariant('release') { 39 withSourcesJar() 40 withJavadocJar() 41 } 42 } 43} 44 45dependencies { 46 api project(':grpc-core'), 47 libraries.cronet.api 48 implementation libraries.guava 49 testImplementation project(':grpc-testing') 50 51 testImplementation libraries.cronet.embedded 52 53 testImplementation libraries.junit 54 testImplementation libraries.mockito.core 55 testImplementation (libraries.robolectric) { 56 // Unreleased change: https://github.com/robolectric/robolectric/pull/5432 57 exclude group: 'com.google.auto.service', module: 'auto-service' 58 } 59} 60 61task javadocs(type: Javadoc) { 62 source = android.sourceSets.main.java.srcDirs 63 classpath += files(android.getBootClasspath()) 64 classpath += files({ 65 android.libraryVariants.collect { variant -> 66 variant.javaCompileProvider.get().classpath 67 } 68 }) 69 options { 70 // Disable JavaDoc doclint on Java 8. 71 if (JavaVersion.current().isJava8Compatible()) { 72 addStringOption('Xdoclint:none', '-quiet') 73 } 74 } 75 exclude 'io/grpc/cronet/Internal*' 76} 77 78task javadocJar(type: Jar, dependsOn: javadocs) { 79 archiveClassifier = 'javadoc' 80 from javadocs.destinationDir 81} 82 83task sourcesJar(type: Jar) { 84 archiveClassifier = 'sources' 85 from android.sourceSets.main.java.srcDirs 86} 87 88publishing { 89 publications { 90 maven { 91 afterEvaluate { 92 from components.release 93 } 94 } 95 } 96} 97