kotlinx.coroutines.debug
's module-info.java
is incorrect preventing any project using JPMS to use debug probes
#4124
Labels
kotlinx.coroutines.debug
's module-info.java
is incorrect preventing any project using JPMS to use debug probes
#4124
Any usage of the
kotlinx.coroutines.debug
package, for exampleimport kotlinx.coroutines.debug.DebugProbes
results in:The split package between
kotlinx.coroutines.core
andkotlinx.coroutines.debug
of packagekotlinx.coroutines.debug
must be solved and cannot be hacked around by commenting itsexports
statement inkotlinx.coroutines.debug
'smodule-info.java
😢.To continue the investigation, using custom module loading code, we merged
kotlin.stdlib
,kotlinx.coroutines.core
andkotlinx.coroutines.debug
modules at runtime:kotlinx.coroutines.core
andkotlinx.coroutines.debug
to mitigate the package splitkotlin.stdlib
to mitigate the circular dependency betweenkotlinx.coroutines.debug
andkotlin.stdlib
after bytebuddy injection at runtimekotlin.stdlib
--- (due to injected code) -->kotlinx.coroutines.debug
->kotlinx.stdlib
That provided us with a few more information about what is wrong with the current
module-info.java
:requires
crashes at runtime:kotlinx-coroutines-debug
jar forces users to bring in jars to their runtime module path to fulfill:JUnit is not something one would want in production runtime module path 😅...
I did not find any suitable workaround to unblock ourselves. The only solution I see is to:
kotlinx.coroutines.debug
package inkotlinx.coroutines.core
andkotlinx.coroutines.debug
(providing an additional jar forkotlinx-coroutines-debug
with probably a new name likekotlinx-coroutines-debug2
😄)module-info.java
issues pointed in point 1 and 2kotlinx.coroutines.debug.junit4
andkotlinx.coroutines.debug.junit5
packages into additional jars (e.g.kotlinx-coroutines-debug-junit4
andkotlinx-coroutines-debug-junit5
), and removerequires
statements of point 3The text was updated successfully, but these errors were encountered: