@@ -2,12 +2,14 @@ import io.izzel.taboolib.gradle.*
22import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
33import org.gradle.api.file.DuplicatesStrategy
44import org.gradle.jvm.tasks.Jar
5+ import org.jetbrains.dokka.gradle.DokkaTask
56import org.jetbrains.kotlin.gradle.dsl.JvmTarget
67
78plugins {
89 java
910 id(" com.gradleup.shadow" ) version " 9.3.1"
1011 id(" io.izzel.taboolib" ) version " 2.0.36"
12+ id(" org.jetbrains.dokka" ) version " 1.9.20"
1113 kotlin(" jvm" ) version " 2.3.0"
1214}
1315
@@ -60,6 +62,16 @@ tasks.withType<JavaCompile> {
6062 options.encoding = " UTF-8"
6163}
6264
65+ tasks.withType<DokkaTask >().configureEach {
66+ moduleName.set(" MatrixStorage API" )
67+ dokkaSourceSets.configureEach {
68+ includes.from(" docs/api/overview.md" )
69+ jdkVersion.set(8 )
70+ reportUndocumented.set(false )
71+ skipDeprecated.set(false )
72+ }
73+ }
74+
6375kotlin {
6476 compilerOptions {
6577 jvmTarget = JvmTarget .fromTarget(" 1.8" )
@@ -71,6 +83,12 @@ configure<JavaPluginExtension> {
7183 targetCompatibility = JavaVersion .VERSION_1_8
7284}
7385
86+ val dokkaJavadocJar by tasks.registering(Jar ::class ) {
87+ dependsOn(tasks.named(" dokkaJavadoc" ))
88+ archiveClassifier.set(" javadoc" )
89+ from(tasks.named(" dokkaJavadoc" ))
90+ }
91+
7492tasks.named<ShadowJar >(" shadowJar" ) {
7593 val runtimeJar = tasks.named<Jar >(" jar" ).get()
7694 dependsOn(runtimeJar)
@@ -88,3 +106,13 @@ tasks.named<ShadowJar>("shadowJar") {
88106tasks.named(" build" ) {
89107 dependsOn(tasks.named(" shadowJar" ))
90108}
109+
110+ tasks.named(" assemble" ) {
111+ dependsOn(dokkaJavadocJar)
112+ }
113+
114+ tasks.register(" generateJavadoc" ) {
115+ group = " documentation"
116+ description = " Generate Javadoc-style API docs with Dokka."
117+ dependsOn(" dokkaJavadoc" )
118+ }
0 commit comments