xref: /aosp_15_r20/external/grpc-grpc-java/cronet/build.gradle (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
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