forked from grpc/grpc-java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
133 lines (120 loc) · 4 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
plugins {
id "maven-publish"
id "com.android.library"
id "digital.wup.android-maven-publish"
}
description = 'gRPC BinderChannel'
android {
sourceSets {
test {
java {
srcDirs += "${projectDir}/../core/src/test/java/"
setIncludes(["io/grpc/internal/FakeClock.java",
"io/grpc/binder/**"])
}
}
androidTest {
java {
srcDirs += "${projectDir}/../core/src/test/java/"
setIncludes(["io/grpc/internal/AbstractTransportTest.java",
"io/grpc/binder/**"])
}
}
}
compileSdkVersion 30
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
defaultConfig {
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
lintOptions { abortOnError false }
}
repositories {
google()
mavenCentral()
}
dependencies {
api 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) {
// Unreleased change: https://github.com/robolectric/robolectric/pull/5432
exclude group: 'com.google.auto.service', module: 'auto-service'
}
testImplementation (libraries.guava.testlib) {
exclude group: 'junit', module: 'junit'
}
testImplementation libraries.truth
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) {
exclude group: 'junit', module: 'junit'
}
}
import net.ltgt.gradle.errorprone.CheckSeverity
tasks.withType(JavaCompile).configureEach {
options.compilerArgs += [
"-Xlint:-cast"
]
appendToProperty(it.options.errorprone.excludedPaths, ".*/R.java", "|")
// Reuses source code from grpc-core, which targets Java 7 (no method references)
options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF)
}
tasks.register("javadocs", Javadoc) {
source = android.sourceSets.main.java.srcDirs
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')
}
}
}
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 {
from components.android
artifact javadocJar
artifact sourcesJar
}
}
}