-
Notifications
You must be signed in to change notification settings - Fork 158
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
72 lines (62 loc) · 2.44 KB
/
Copy pathbuild.gradle.kts
File metadata and controls
72 lines (62 loc) · 2.44 KB
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
import com.android.build.api.dsl.CommonExtension
import org.jetbrains.dokka.gradle.DokkaExtension
import org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.ksp) apply false
alias(libs.plugins.kotlin.dokka) apply false
}
val androidApplicationPluginId = libs.plugins.android.application.get().pluginId
val androidLibraryPluginId = libs.plugins.android.library.get().pluginId
val dokkaPluginId = libs.plugins.kotlin.dokka.get().pluginId
allprojects {
fun Project.configureAndroidJvm() {
configure<CommonExtension> {
compileOptions.sourceCompatibility = JavaVersion.VERSION_17
compileOptions.targetCompatibility = JavaVersion.VERSION_17
}
}
plugins.withId(androidLibraryPluginId) {
configureAndroidJvm()
}
plugins.withId(androidApplicationPluginId) {
configureAndroidJvm()
}
tasks.withType<KotlinJvmCompile>().configureEach {
compilerOptions {
jvmTarget = JvmTarget.JVM_17
freeCompilerArgs.addAll(
"-Xno-param-assertions",
"-Xno-call-assertions",
"-Xno-receiver-assertions"
)
}
}
plugins.withId(dokkaPluginId) {
configure<DokkaExtension> {
dokkaPublications.named("html") {
outputDirectory.set(layout.buildDirectory.dir("dokka/html"))
}
pluginsConfiguration.withType<DokkaHtmlPluginParameters>().configureEach {
footerMessage.set("YukiHookAPI | Apache-2.0 License | Copyright (C) 2019 HighCapable")
}
}
tasks.register("publishKDoc") {
group = "documentation"
dependsOn("dokkaGeneratePublicationHtml")
doLast {
val docsDir = rootProject.projectDir
.resolve("docs-source")
.resolve("dist")
.resolve("KDoc")
.resolve(project.name)
if (docsDir.exists()) docsDir.deleteRecursively() else docsDir.mkdirs()
layout.buildDirectory.dir("dokka/html").get().asFile.copyRecursively(docsDir)
}
}
}
}