Skip to content

Fixed release publishing failing to build the javadoc jar - #1024

Merged
davidliu merged 2 commits into
livekit:mainfrom
adrian-niculescu:fix-release-javadoc-uniffi
Sep 16, 2026
Merged

davidliu merged 2 commits into
livekit:mainfrom
adrian-niculescu:fix-release-javadoc-uniffi

Conversation

@adrian-niculescu

@adrian-niculescu adrian-niculescu commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Publishing the SDK fails since data tracks landed: publishReleasePublicationToMavenRepository, which the release workflow runs, stops in :livekit-android-sdk:javaDocReleaseGeneration with UnsupportedOperationException: PermittedSubclasses requires ASM9. CI doesn't catch it because the publish step only runs for snapshot versions.

withJavadocJar() makes AGP generate the javadoc with the Dokka version it bundles: 1.4.32 in the AGP 8.7.2 used here, and still in 8.12.1. That Dokka's class reader can't parse the sealed classes in livekit-uniffi-android, which is now on the SDK's compile classpath. This replaces the action of AGP's generation task with a sync of the project's own dokkaJavadoc (Dokka 1.9.20) output into that task's output directory, so AGP's javadoc jar and the publication's javadoc artifact stay as they are, and output left from an earlier AGP run is removed rather than packaged.

Tested with ./gradlew publishReleasePublicationToMavenLocal -PRELEASE_SIGNING_ENABLED=false -Dorg.gradle.parallel=false: it fails on main and publishes all four modules with this change, and the SDK's javadoc jar includes the data track classes.

AGP generates the published javadoc with Dokka 1.4.32, which cannot read the
sealed classes in livekit-uniffi-android and fails with "PermittedSubclasses
requires ASM9". Disabled AGP's javadoc generation and packaged the javadoc jar
from the project's Dokka 1.9.20 dokkaJavadoc task instead.
@changeset-bot

changeset-bot Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 03f6e54

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Devin Review: 1 flag

Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

…g to the jar

Disabling AGP's javadoc generation left any output from an earlier build in
place, and the jar, which fails on duplicate files, then packaged it next to
the Dokka output. The generation task now syncs the Dokka output into its own
output directory, so the jar keeps its single input and stale files are
removed.

@davidliu davidliu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@davidliu
davidliu merged commit 33c13e2 into livekit:main Sep 16, 2026
6 checks passed
@adrian-niculescu
adrian-niculescu deleted the fix-release-javadoc-uniffi branch September 16, 2026 15:54
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.

2 participants