-
Notifications
You must be signed in to change notification settings - Fork 3.9k
/
Copy pathbuild.gradle
135 lines (121 loc) · 4.25 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
plugins {
id "maven-publish"
id "com.android.library"
}
description = 'gRPC BinderChannel'
android {
namespace 'io.grpc.binder'
compileSdkVersion 34
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
defaultConfig {
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
lintOptions { abortOnError false }
publishing {
singleVariant('release') {
withSourcesJar()
withJavadocJar()
}
}
testFixtures { enable true }
}
repositories {
google()
}
dependencies {
api project(':grpc-api')
implementation 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.core
testImplementation libraries.androidx.lifecycle.common
testImplementation libraries.androidx.lifecycle.service
testImplementation libraries.junit
testImplementation libraries.mockito.core
testImplementation libraries.robolectric
testImplementation libraries.guava.testlib
testImplementation libraries.truth
testImplementation project(':grpc-protobuf-lite')
testImplementation project(':grpc-testing')
testImplementation project(':grpc-inprocess')
testImplementation testFixtures(project(':grpc-core'))
androidTestAnnotationProcessor libraries.auto.value
androidTestImplementation project(':grpc-testing')
androidTestImplementation project(':grpc-protobuf-lite')
androidTestImplementation libraries.auto.value.annotations
androidTestImplementation libraries.junit
androidTestImplementation libraries.androidx.core
androidTestImplementation libraries.androidx.test.core
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
androidTestImplementation testFixtures(project(':grpc-core'))
testFixturesImplementation libraries.guava.testlib
}
import net.ltgt.gradle.errorprone.CheckSeverity
tasks.withType(JavaCompile).configureEach {
options.compilerArgs += [
"-Xlint:-cast",
// For junit-1.15-api & org.robolectric/shadows-framework/4.11.1
"-Xlint:-classfile",
// Unclaimed annotations. TODO(jdcormie): Fix?
"-Xlint:-processing",
]
appendToProperty(it.options.errorprone.excludedPaths, ".*/R.java", "|")
}
tasks.register("javadocs", Javadoc) {
source = android.sourceSets.main.java.srcDirs
exclude 'io/grpc/binder/internal/**'
exclude 'io/grpc/binder/Internal*'
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')
}
}
// This is to enable moving to Java 11. An existing problem with javadoc
// produces a warning under Java 8, but with Java 11 it fails the build.
failOnError false
}
tasks.register("javadocJar", Jar) {
dependsOn javadocs
archiveClassifier = 'javadoc'
from javadocs.destinationDir
}
tasks.register("sourcesJar", Jar) {
archiveClassifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
publishing {
publications {
maven {
afterEvaluate {
from components.release
}
}
}
}
afterEvaluate {
components.release.withVariantsFromConfiguration(configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
components.release.withVariantsFromConfiguration(configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}