xref: /aosp_15_r20/external/grpc-grpc-java/binder/build.gradle (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
1*e07d83d3SAndroid Build Coastguard Workerplugins {
2*e07d83d3SAndroid Build Coastguard Worker    id "maven-publish"
3*e07d83d3SAndroid Build Coastguard Worker    id "com.android.library"
4*e07d83d3SAndroid Build Coastguard Worker}
5*e07d83d3SAndroid Build Coastguard Worker
6*e07d83d3SAndroid Build Coastguard Workerdescription = 'gRPC BinderChannel'
7*e07d83d3SAndroid Build Coastguard Worker
8*e07d83d3SAndroid Build Coastguard Workerandroid {
9*e07d83d3SAndroid Build Coastguard Worker    namespace 'io.grpc.binder'
10*e07d83d3SAndroid Build Coastguard Worker    compileSdkVersion 33
11*e07d83d3SAndroid Build Coastguard Worker    compileOptions {
12*e07d83d3SAndroid Build Coastguard Worker        sourceCompatibility 1.8
13*e07d83d3SAndroid Build Coastguard Worker        targetCompatibility 1.8
14*e07d83d3SAndroid Build Coastguard Worker    }
15*e07d83d3SAndroid Build Coastguard Worker    defaultConfig {
16*e07d83d3SAndroid Build Coastguard Worker        minSdkVersion 19
17*e07d83d3SAndroid Build Coastguard Worker        targetSdkVersion 33
18*e07d83d3SAndroid Build Coastguard Worker        versionCode 1
19*e07d83d3SAndroid Build Coastguard Worker        versionName "1.0"
20*e07d83d3SAndroid Build Coastguard Worker        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
21*e07d83d3SAndroid Build Coastguard Worker        multiDexEnabled true
22*e07d83d3SAndroid Build Coastguard Worker    }
23*e07d83d3SAndroid Build Coastguard Worker    lintOptions { abortOnError false }
24*e07d83d3SAndroid Build Coastguard Worker    publishing {
25*e07d83d3SAndroid Build Coastguard Worker        singleVariant('release') {
26*e07d83d3SAndroid Build Coastguard Worker            withSourcesJar()
27*e07d83d3SAndroid Build Coastguard Worker            withJavadocJar()
28*e07d83d3SAndroid Build Coastguard Worker        }
29*e07d83d3SAndroid Build Coastguard Worker    }
30*e07d83d3SAndroid Build Coastguard Worker}
31*e07d83d3SAndroid Build Coastguard Worker
32*e07d83d3SAndroid Build Coastguard Workerrepositories {
33*e07d83d3SAndroid Build Coastguard Worker    google()
34*e07d83d3SAndroid Build Coastguard Worker    mavenCentral()
35*e07d83d3SAndroid Build Coastguard Worker}
36*e07d83d3SAndroid Build Coastguard Worker
37*e07d83d3SAndroid Build Coastguard Workerdependencies {
38*e07d83d3SAndroid Build Coastguard Worker    api project(':grpc-core')
39*e07d83d3SAndroid Build Coastguard Worker
40*e07d83d3SAndroid Build Coastguard Worker    implementation libraries.androidx.annotation
41*e07d83d3SAndroid Build Coastguard Worker    implementation libraries.androidx.core
42*e07d83d3SAndroid Build Coastguard Worker    implementation libraries.androidx.lifecycle.common
43*e07d83d3SAndroid Build Coastguard Worker    implementation libraries.guava
44*e07d83d3SAndroid Build Coastguard Worker    testImplementation libraries.androidx.core
45*e07d83d3SAndroid Build Coastguard Worker    testImplementation libraries.androidx.test.core
46*e07d83d3SAndroid Build Coastguard Worker    testImplementation libraries.androidx.lifecycle.common
47*e07d83d3SAndroid Build Coastguard Worker    testImplementation libraries.androidx.lifecycle.service
48*e07d83d3SAndroid Build Coastguard Worker    testImplementation libraries.junit
49*e07d83d3SAndroid Build Coastguard Worker    testImplementation libraries.mockito.core
50*e07d83d3SAndroid Build Coastguard Worker    testImplementation (libraries.robolectric) {
51*e07d83d3SAndroid Build Coastguard Worker        // Unreleased change: https://github.com/robolectric/robolectric/pull/5432
52*e07d83d3SAndroid Build Coastguard Worker        exclude group: 'com.google.auto.service', module: 'auto-service'
53*e07d83d3SAndroid Build Coastguard Worker    }
54*e07d83d3SAndroid Build Coastguard Worker    testImplementation (libraries.guava.testlib) {
55*e07d83d3SAndroid Build Coastguard Worker        exclude group: 'junit', module: 'junit'
56*e07d83d3SAndroid Build Coastguard Worker    }
57*e07d83d3SAndroid Build Coastguard Worker    testImplementation libraries.truth
58*e07d83d3SAndroid Build Coastguard Worker    testImplementation project(':grpc-testing')
59*e07d83d3SAndroid Build Coastguard Worker    testImplementation testFixtures(project(':grpc-core'))
60*e07d83d3SAndroid Build Coastguard Worker
61*e07d83d3SAndroid Build Coastguard Worker    androidTestAnnotationProcessor libraries.auto.value
62*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation project(':grpc-testing')
63*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation project(':grpc-protobuf-lite')
64*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.auto.value.annotations
65*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.junit
66*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.androidx.core
67*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.androidx.test.core
68*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.androidx.test.rules
69*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.androidx.test.ext.junit
70*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.truth
71*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.mockito.android
72*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation libraries.androidx.lifecycle.service
73*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation (libraries.guava.testlib) {
74*e07d83d3SAndroid Build Coastguard Worker        exclude group: 'junit', module: 'junit'
75*e07d83d3SAndroid Build Coastguard Worker    }
76*e07d83d3SAndroid Build Coastguard Worker    androidTestImplementation testFixtures(project(':grpc-core'))
77*e07d83d3SAndroid Build Coastguard Worker}
78*e07d83d3SAndroid Build Coastguard Worker
79*e07d83d3SAndroid Build Coastguard Workerimport net.ltgt.gradle.errorprone.CheckSeverity
80*e07d83d3SAndroid Build Coastguard Worker
81*e07d83d3SAndroid Build Coastguard Workertasks.withType(JavaCompile).configureEach {
82*e07d83d3SAndroid Build Coastguard Worker    options.compilerArgs += [
83*e07d83d3SAndroid Build Coastguard Worker            "-Xlint:-cast"
84*e07d83d3SAndroid Build Coastguard Worker    ]
85*e07d83d3SAndroid Build Coastguard Worker    appendToProperty(it.options.errorprone.excludedPaths, ".*/R.java", "|")
86*e07d83d3SAndroid Build Coastguard Worker}
87*e07d83d3SAndroid Build Coastguard Worker
88*e07d83d3SAndroid Build Coastguard Workertasks.register("javadocs", Javadoc) {
89*e07d83d3SAndroid Build Coastguard Worker    source = android.sourceSets.main.java.srcDirs
90*e07d83d3SAndroid Build Coastguard Worker    exclude 'io/grpc/binder/internal/**'
91*e07d83d3SAndroid Build Coastguard Worker    exclude 'io/grpc/binder/Internal*'
92*e07d83d3SAndroid Build Coastguard Worker    classpath += files(android.getBootClasspath())
93*e07d83d3SAndroid Build Coastguard Worker    classpath += files({
94*e07d83d3SAndroid Build Coastguard Worker        android.libraryVariants.collect { variant ->
95*e07d83d3SAndroid Build Coastguard Worker            variant.javaCompileProvider.get().classpath
96*e07d83d3SAndroid Build Coastguard Worker        }
97*e07d83d3SAndroid Build Coastguard Worker    })
98*e07d83d3SAndroid Build Coastguard Worker    options {
99*e07d83d3SAndroid Build Coastguard Worker        // Disable JavaDoc doclint on Java 8.
100*e07d83d3SAndroid Build Coastguard Worker        if (JavaVersion.current().isJava8Compatible()) {
101*e07d83d3SAndroid Build Coastguard Worker            addStringOption('Xdoclint:none', '-quiet')
102*e07d83d3SAndroid Build Coastguard Worker        }
103*e07d83d3SAndroid Build Coastguard Worker    }
104*e07d83d3SAndroid Build Coastguard Worker    // This is to enable moving to Java 11. An existing problem with javadoc
105*e07d83d3SAndroid Build Coastguard Worker    // produces a warning under Java 8, but with Java 11 it fails the build.
106*e07d83d3SAndroid Build Coastguard Worker    failOnError false
107*e07d83d3SAndroid Build Coastguard Worker}
108*e07d83d3SAndroid Build Coastguard Worker
109*e07d83d3SAndroid Build Coastguard Workertasks.register("javadocJar", Jar) {
110*e07d83d3SAndroid Build Coastguard Worker    dependsOn javadocs
111*e07d83d3SAndroid Build Coastguard Worker    archiveClassifier = 'javadoc'
112*e07d83d3SAndroid Build Coastguard Worker    from javadocs.destinationDir
113*e07d83d3SAndroid Build Coastguard Worker}
114*e07d83d3SAndroid Build Coastguard Worker
115*e07d83d3SAndroid Build Coastguard Workertasks.register("sourcesJar", Jar) {
116*e07d83d3SAndroid Build Coastguard Worker    archiveClassifier = 'sources'
117*e07d83d3SAndroid Build Coastguard Worker    from android.sourceSets.main.java.srcDirs
118*e07d83d3SAndroid Build Coastguard Worker}
119*e07d83d3SAndroid Build Coastguard Worker
120*e07d83d3SAndroid Build Coastguard Workerpublishing {
121*e07d83d3SAndroid Build Coastguard Worker    publications {
122*e07d83d3SAndroid Build Coastguard Worker        maven {
123*e07d83d3SAndroid Build Coastguard Worker            afterEvaluate {
124*e07d83d3SAndroid Build Coastguard Worker                from components.release
125*e07d83d3SAndroid Build Coastguard Worker            }
126*e07d83d3SAndroid Build Coastguard Worker        }
127*e07d83d3SAndroid Build Coastguard Worker    }
128*e07d83d3SAndroid Build Coastguard Worker}
129