You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgrade Dokka to 2.2.0 and migrate to Gradle plugin v2 DSL (#3731)
Upgrades Dokka from 1.8.10 to 2.2.0 and migrates to the v2 Gradle plugin
DSL. Upgrades Kotlin version just for the Dokka plugin (required by v2).
This is a first step towards AGP 9 since Dokka 1.x was blocking that.
## Changes
- Dokka bumped to 2.2.0
- Config adapted to use the `dokka` extension and preserve existng
contents
- CI docs job now runs `./gradlew :dokkaGenerate` rather than
`dokkaHtmlMultiModule`.
- dokka-hide-internal: Dokka 2.2's K2 analysis needs a newer Kotlin
stdlib at test runtime; added as testRuntimeOnly, version tracked in the
catalog (dokkaAnalysisKotlin).
- Fixed a pre-existing broken source link base (public/src/main/java to
purchases/src/main/java).
## Verification
The docs CI job only runs on release tags, so verified locally:
- :dokkaGenerate output diffed against a Dokka 1.8.10 build from the
merge base: identical module layout and deep-link URLs; CEC and
paywalls.components suppressions, README landing page, and hide-internal
filtering all intact. Only additions are enum entries pages and a ui-kit
static assets dir from the new Dokka HTML format.
- dokka-hide-internal tests pass against the 2.2.0 engine.
Ref: #2618
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Changes the release docs pipeline and a major Dokka upgrade; SDK
runtime is unaffected, but incomplete v2 config or test classpath quirks
could break CI doc generation or `dokka-hide-internal` tests.
>
> **Overview**
> **Dokka** is upgraded from **1.8.10** to **2.2.0** and doc generation
moves to the **Gradle plugin v2** model (`dokka { }` DSL,
`:dokkaGenerate` instead of `dokkaHtmlMultiModule` /
`dokkaHtmlPartial`).
>
> The **root** build applies the `base` plugin, drops the custom `clean`
task and the old `DokkaMultiModuleTask` hook, and instead auto-registers
every subproject that applies Dokka into the root `dokka` dependency
graph. HTML output stays under `docs/${VERSION_NAME}` with `README.md`
included. **CI** `docs-deploy` runs `./gradlew :dokkaGenerate`.
>
> **`purchases`** and **`ui/revenuecatui`** use top-level `dokka {
dokkaSourceSets { ... } }` with v2 APIs (`dependentSourceSets`,
`externalDocumentationLinks.register`, `remoteUrl(...)`).
**`purchases`** extracts shared source-set settings into
`configureDocumentedSourceSet()` and fixes the `src/main/java` GitHub
source link path.
>
> **`dokka-hide-internal`** adds `analysis-kotlin-symbols` and Kotlin
**2.2.0** stdlib as **testRuntimeOnly** so Dokka 2.2 K2 analysis works
while the repo still compiles on Kotlin **2.0.21**.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
c8b1585. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
0 commit comments