JetBrains / lincheck

Framework for testing concurrent data structures
Mozilla Public License 2.0
555 stars 31 forks source link

JARs in Maven are empty #190

Closed btwilk closed 1 year ago

btwilk commented 1 year ago

https://mvnrepository.com/artifact/org.jetbrains.kotlinx/lincheck

The Central repository has JAR artifacts for v2.17, v2.18, and v2.18.1 but they are all essentially empty (no class files).

btwilk commented 1 year ago

Ah I just saw that there is a separate artifact lincheck-jvm with the class files. Can someone help me understand why there are two artifacts?

alefedor commented 1 year ago

Hi @btwilk ,

We have "*-jvm" versions because we build Lincheck as a multiplatform project.

In a gradle project, both lincheck and lincheck-jvm are essentially the same and both

testImplementation("org.jetbrains.kotlinx:lincheck-jvm:2.18.1")

and

testImplementation("org.jetbrains.kotlinx:lincheck:2.18.1")

work.

As far as I remember, in a maven project, only lincheck-jvm can be used; that is probably a reason to explicitly publish the jvm version.

So, to answer your question, this duplication is an artifact of multiplatform publishing. For example, Kotlin coroutines library also publishes both kotlinx-coroutines-core and kotlinx-coroutines-core-jvm