Skip to content

Migrate doc generation from Javadoc to Dokka#2882

Draft
wmathurin wants to merge 1 commit into
forcedotcom:devfrom
wmathurin:feature/migrate-doc-generation-to-dokka
Draft

Migrate doc generation from Javadoc to Dokka#2882
wmathurin wants to merge 1 commit into
forcedotcom:devfrom
wmathurin:feature/migrate-doc-generation-to-dokka

Conversation

@wmathurin
Copy link
Copy Markdown
Contributor

Summary

  • Replaces the raw javadoc CLI invocation in tools/generate_doc.sh with ./gradlew dokkaHtmlMultiModule
  • Adds the Dokka Gradle plugin (v1.9.20) to the buildscript classpath in build.gradle.kts
  • Applies the plugin at the root (for multi-module HTML aggregation) and to all :libs:* subprojects
  • Output directory remains doc/ at the repo root — no change to the release/gh-pages workflow

Why Dokka

Dokka is JetBrains' official documentation engine for Kotlin. It understands KDoc natively (Javadoc does not), produces modern searchable HTML, and integrates directly with Gradle — no separate tool installation required. As the codebase moves to Kotlin-first, this ensures doc comments are rendered correctly.

Test plan

  • Run ./tools/generate_doc.sh from the repo root and verify doc/index.html is generated
  • Open doc/index.html and confirm all six library modules appear (SalesforceAnalytics, SalesforceSDK, SmartStore, MobileSync, SalesforceHybrid, SalesforceReact)
  • Verify KDoc comments on Kotlin classes render correctly in the output

Replace the raw javadoc invocation in tools/generate_doc.sh with
./gradlew dokkaHtmlMultiModule. Add the Dokka Gradle plugin (1.9.20)
to the buildscript classpath, apply it at the root for multi-module
aggregation, and to all :libs:* subprojects for per-module docs.
Output directory remains doc/ at the repo root.
@wmathurin wmathurin marked this pull request as draft May 8, 2026 18:41
@codecov
Copy link
Copy Markdown

codecov Bot commented May 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 55.03%. Comparing base (2f4d3e6) to head (e3cb4fb).
⚠️ Report is 2 commits behind head on dev.

Additional details and impacted files
@@              Coverage Diff              @@
##                dev    #2882       +/-   ##
=============================================
- Coverage     65.59%   55.03%   -10.57%     
+ Complexity     3024     2496      -528     
=============================================
  Files           223      226        +3     
  Lines         17629    17752      +123     
  Branches       2300     2316       +16     
=============================================
- Hits          11563     9769     -1794     
- Misses         4988     6985     +1997     
+ Partials       1078      998       -80     
Components Coverage Δ
Analytics 48.71% <ø> (ø)
SalesforceSDK 41.71% <5.83%> (-19.48%) ⬇️
Hybrid 59.30% <ø> (ø)
SmartStore 78.20% <ø> (ø)
MobileSync 82.11% <ø> (+0.43%) ⬆️
React 50.54% <ø> (ø)
see 73 files with indirect coverage changes
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant