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