Skip to content

Commit 9fb310e

Browse files
committed
Migrate doc generation from Dokka v1 to v2 with HTML output
- Bump dokka-gradle-plugin from 1.9.20 to 2.0.0 - Opt in to Dokka v2 mode via gradle.properties - Replace subprojects{} apply + dokkaHtmlMultiModule task (v1 API) with DokkaExtension DSL + dokka() dependencies (v2 API) - Apply org.jetbrains.dokka to each lib subproject directly so Dokka can resolve their source sets for aggregation - Switch output format from Javadoc to unified Dokka HTML so that doc/index.html is a proper multi-module site (Javadoc format does not support true multi-module aggregation in v2) - Update generate_doc.sh: dokkaHtmlMultiModule -> dokkaGeneratePublicationHtml
1 parent e3cb4fb commit 9fb310e

9 files changed

Lines changed: 24 additions & 8 deletions

File tree

build.gradle.kts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ buildscript {
1515
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.20")
1616
classpath("org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.21")
1717
classpath("org.jacoco:org.jacoco.core:0.8.14")
18-
classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20")
18+
classpath("org.jetbrains.dokka:dokka-gradle-plugin:2.0.0")
1919
}
2020
}
2121

@@ -36,13 +36,22 @@ allprojects {
3636

3737
apply(plugin = "org.jetbrains.dokka")
3838

39-
subprojects {
40-
if (path.startsWith(":libs:")) {
41-
apply(plugin = "org.jetbrains.dokka")
39+
extensions.configure<org.jetbrains.dokka.gradle.DokkaExtension> {
40+
dokkaPublications.named("html") {
41+
outputDirectory.set(rootDir.resolve("doc"))
4242
}
4343
}
4444

45-
tasks.named<org.jetbrains.dokka.gradle.DokkaMultiModuleTask>("dokkaHtmlMultiModule") {
46-
moduleName.set("SalesforceSDK 14.0 API")
47-
outputDirectory.set(rootDir.resolve("doc"))
45+
dependencies {
46+
add("dokka", project(":libs:SalesforceAnalytics"))
47+
add("dokka", project(":libs:SalesforceSDK"))
48+
add("dokka", project(":libs:SmartStore"))
49+
add("dokka", project(":libs:MobileSync"))
50+
add("dokka", project(":libs:SalesforceHybrid"))
51+
add("dokka", project(":libs:SalesforceReact"))
52+
}
53+
54+
tasks.register<Jar>("javadocJar") {
55+
from(tasks.named("dokkaGeneratePublicationHtml"))
56+
archiveClassifier.set("javadoc")
4857
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ android.r8.optimizedResourceShrinking=false
1616
android.builtInKotlin=false
1717
# TODO: This should be resolved in a dedicated work item. ECJ20260423
1818
android.newDsl=false
19+
org.jetbrains.dokka.experimental.gradle.pluginMode=V2EnabledWithHelpers

libs/MobileSync/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
`kotlin-android`
88
`publish-module`
99
jacoco
10+
id("org.jetbrains.dokka")
1011
}
1112

1213
dependencies {

libs/SalesforceAnalytics/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
`kotlin-android`
88
`publish-module`
99
jacoco
10+
id("org.jetbrains.dokka")
1011
}
1112

1213
dependencies {

libs/SalesforceHybrid/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ plugins {
99
`kotlin-android`
1010
`publish-module`
1111
jacoco
12+
id("org.jetbrains.dokka")
1213
}
1314

1415
dependencies {

libs/SalesforceReact/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ plugins {
1818
`kotlin-android`
1919
`publish-module`
2020
jacoco
21+
id("org.jetbrains.dokka")
2122
}
2223

2324
dependencies {

libs/SalesforceSDK/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ plugins {
1010
kotlin("plugin.serialization") version "2.3.20"
1111
kotlin("plugin.parcelize")
1212
kotlin("plugin.compose")
13+
id("org.jetbrains.dokka")
1314
}
1415

1516
dependencies {

libs/SmartStore/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ plugins {
77
`kotlin-android`
88
`publish-module`
99
jacoco
10+
id("org.jetbrains.dokka")
1011
}
1112

1213
dependencies {

tools/generate_doc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ if [ ! -d "external" ]
33
then
44
echo "You must run this tool from the root directory of your repo clone"
55
else
6-
./gradlew dokkaHtmlMultiModule
6+
./gradlew dokkaGeneratePublicationHtml
77
fi

0 commit comments

Comments
 (0)