-
Notifications
You must be signed in to change notification settings - Fork 392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AssertionError: Recursion detected in a lazy value under LockBasedStorageManager in multiplatform project #3565
Comments
Thank you for the reproducer. The problem is that the Dokka Gradle Plugin wrongly(?) defines import java.io.File
typealias File = File
|
An intermediate solution: do not fail the build to at least let the users build documentation, even if the reference is lost. Overall, to address the issue properly, we need to investigate how this case should be handled, what the expected behaviour is from Kotlin's perspective, whether such setups are even allowed. |
Describe the bug
./gradle dokkaGfm
fails on a multiplatform project with the following exception:java.lang.AssertionError: Recursion detected in a lazy value under LockBasedStorageManager@61bed5ef (Dokka)
.Repository with an example project: https://github.com/illarionov/playground-android-composite-build/tree/dokka-typealias-recursion (
dokka-typealias-recursion
branch).This project has a shared Jvm + Android source set and some typealias defined.
To Reproduce
Clone the above example repository, or create a new multiplatform project with about the following submodule configuration (
build.gradle.kts
):Create a Kotlin source code file in the shared source set (
composeApp/src/jvmAndAndroid/kotlin/org/example/dokka/Types.jvmAndAndroid.kt
):Run
./gradlew dokkaGfm --stacktrace
. It will fail with the following stacktrace:Workaround: if we replace the typealias line to
typealias File = java.io.File
, then the build will succeed.Installation
The text was updated successfully, but these errors were encountered: