-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.gradle
74 lines (63 loc) · 2.04 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
apply plugin: 'maven'
apply plugin: 'signing'
apply from: 'versions.gradle'
apply from: 'publication.gradle'
apply plugin: "org.jetbrains.dokka"
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:4.2.2")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.21")
classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.18")
classpath("com.github.kezong:fat-aar:1.3.8")
classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.7.20")
}
}
repositories {
google()
mavenCentral()
}
repositories {
maven {
name = "OSSRH"
url = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
credentials {
username = ossrhUsername
password = ossrhPassword
}
}
}
static boolean isAndroidPlugin(Plugin plugin) {
plugin.getClass().canonicalName in ["com.android.build.gradle.LibraryPlugin",
"com.android.build.gradle.AppPlugin"]
}
static boolean isJavaLibraryPlugin(Plugin plugin) {
plugin.getClass().canonicalName in ["org.gradle.api.plugins.JavaPlugin",
"org.gradle.api.plugins.JavaLibraryPlugin"]
}
subprojects {
project.plugins.whenPluginAdded { plugin ->
if (isAndroidPlugin(plugin)) {
project.apply from: "$rootProject.projectDir/android_subproject.gradle"
}
if (isJavaLibraryPlugin(plugin)) {
project.apply from: "$rootProject.projectDir/java_subproject.gradle"
}
}
if (project.name.startsWith("api_")) {
tasks.withType(org.jetbrains.dokka.gradle.DokkaTaskPartial).configureEach {
moduleName.set(project.name.replace("api_", ""))
}
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
kotlinOptions {
moduleName project.path.removePrefix(":").replace(':', '-')
}
}
tasks.dokkaHtmlMultiModule.configure {
outputDirectory.set(file("docs"))
}