Skip to content

Commit dd8531e

Browse files
authored
Integrate Dokka (#529)
1 parent ca2435f commit dd8531e

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

build-logic/plugins/src/main/java/ch/srgssr/pillarbox/gradle/PillarboxAndroidLibraryPublishingPlugin.kt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import org.gradle.api.Plugin
1010
import org.gradle.api.Project
1111
import org.gradle.api.publish.PublishingExtension
1212
import org.gradle.api.publish.maven.MavenPublication
13+
import org.gradle.jvm.tasks.Jar
1314
import org.gradle.kotlin.dsl.configure
1415
import org.gradle.kotlin.dsl.get
1516
import org.gradle.kotlin.dsl.register
@@ -21,6 +22,23 @@ class PillarboxAndroidLibraryPublishingPlugin : Plugin<Project> {
2122
override fun apply(target: Project) = with(target) {
2223
pluginManager.apply("com.android.library")
2324
pluginManager.apply("org.gradle.maven-publish")
25+
pluginManager.apply("org.jetbrains.dokka")
26+
27+
val dokkaHtmlJar = tasks.register<Jar>("dokkaHtmlJar") {
28+
val dokkaHtmlTask = tasks.named("dokkaHtml")
29+
30+
dependsOn(dokkaHtmlTask)
31+
from(dokkaHtmlTask.map { it.outputs })
32+
archiveClassifier.set("html-docs")
33+
}
34+
35+
val dokkaJavadocJar = tasks.register<Jar>("dokkaJavadocJar") {
36+
val dokkaJavadocTask = tasks.named("dokkaJavadoc")
37+
38+
dependsOn(dokkaJavadocTask)
39+
from(dokkaJavadocTask.map { it.outputs })
40+
archiveClassifier.set("javadoc")
41+
}
2442

2543
extensions.configure<LibraryExtension> {
2644
defaultConfig {
@@ -31,14 +49,16 @@ class PillarboxAndroidLibraryPublishingPlugin : Plugin<Project> {
3149
publishing {
3250
singleVariant("release") {
3351
withSourcesJar()
34-
withJavadocJar()
3552
}
3653
}
3754
}
3855

3956
extensions.configure<PublishingExtension> {
4057
publications {
4158
register<MavenPublication>("gpr") {
59+
artifact(dokkaHtmlJar)
60+
artifact(dokkaJavadocJar)
61+
4262
afterEvaluate {
4363
from(components["release"])
4464
}

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ plugins {
1313
alias(libs.plugins.kotlin.parcelize) apply false
1414
alias(libs.plugins.detekt)
1515
alias(libs.plugins.dependency.analysis.gradle.plugin)
16+
alias(libs.plugins.dokka) apply false
1617
alias(libs.plugins.kotlinx.kover)
1718
}
1819

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ android.useAndroidX=true
2323
kotlin.code.style=official
2424

2525
org.gradle.caching=true
26-
org.gradle.configuration-cache=true
26+
# Disable configuration cache until Dokka supports it: https://github.com/Kotlin/dokka/issues/2231
27+
org.gradle.configuration-cache=false

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ coil = "2.6.0"
2121
comscore = "6.11.1"
2222
dependency-analysis-gradle-plugin = "1.31.0"
2323
detekt = "1.23.6"
24+
dokka = "1.9.20"
2425
guava = "32.1.3-android"
2526
json = "20240303"
2627
junit = "4.13.2"
@@ -139,6 +140,7 @@ android-application = { id = "com.android.application", version.ref = "android-g
139140
android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
140141
dependency-analysis-gradle-plugin = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependency-analysis-gradle-plugin" }
141142
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
143+
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
142144
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
143145
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
144146
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }

0 commit comments

Comments
 (0)