Piotr KrzemiĆski
01/27/2025, 3:28 PM-jvm
- just @file:DependsOn("it.krzeminski:snakeyaml-engine-kmp:3.1.0")
works now đmbonnin
01/27/2025, 3:37 PMmbonnin
01/27/2025, 3:37 PMPiotr KrzemiĆski
01/27/2025, 3:38 PMmbonnin
01/27/2025, 3:38 PMPiotr KrzemiĆski
01/27/2025, 3:39 PMPiotr KrzemiĆski
01/27/2025, 3:39 PMPiotr KrzemiĆski
01/27/2025, 3:47 PMPiotr KrzemiĆski
01/27/2025, 3:49 PMmbonnin
01/27/2025, 3:51 PMmbonnin
01/27/2025, 3:52 PMmbonnin
01/27/2025, 3:56 PMmbonnin
01/27/2025, 3:56 PM$ unzip ../snakeyaml-engine-kmp-3.1.0.jar
Archive: ../snakeyaml-engine-kmp-3.1.0.jar
creating: META-INF/
inflating: META-INF/MANIFEST.MF
inflating: META-INF/kotlin-project-structure-metadata.json
creating: commonMain/
creating: commonMain/default/
inflating: commonMain/default/manifest
creating: commonMain/default/linkdata/
inflating: commonMain/default/linkdata/module
creating: commonMain/default/linkdata/package_it.krzeminski.snakeyaml.engine.kmp.api/
inflating: commonMain/default/linkdata/package_it.krzeminski.snakeyaml.engine.kmp.api/00_api.knm
inflating: commonMain/default/linkdata/package_it.krzeminski.snakeyaml.engine.kmp.api/01_api.knm
inflating: commonMain/default/linkdata/package_it.krzeminski.snakeyaml.engine.kmp.api/02_api.knm
inflating: commonMain/default/linkdata/package_it.krzeminski.snakeyaml.engine.kmp.api/03_api.knm
mbonnin
01/27/2025, 3:56 PMPiotr KrzemiĆski
01/27/2025, 3:57 PMmbonnin
01/27/2025, 3:58 PMmbonnin
01/27/2025, 3:58 PMPiotr KrzemiĆski
01/27/2025, 4:03 PMmbonnin
01/27/2025, 4:09 PMmbonnin
01/27/2025, 4:20 PMmbonnin
01/27/2025, 4:20 PM@file:DependsOn("com.apollographql.apollo:apollo-api:4.1.1")
println(com.apollographql.apollo.api.ApolloResponse::class)
output:
$ kotlin /Users/martinbonnin/Downloads/tmp/toto.main.kts
toto.main.kts:5:13: error: unresolved reference 'apollographql'.
println(com.apollographql.apollo.api.ApolloResponse::class)
Piotr KrzemiĆski
01/27/2025, 4:25 PMmbonnin
01/27/2025, 4:33 PMmbonnin
01/27/2025, 4:34 PMmartinbonnin:~/Downloads/tmp$ kotlin -version
Kotlin version 2.1.10-release-473 (JRE 22.0.2+9)
martinbonnin:~/Downloads/tmp$ kotlin /Users/martinbonnin/Downloads/tmp/toto.main.kts
toto.main.kts:5:9: error: unresolved reference 'it'.
println(it.krzeminski.snakeyaml.engine.kmp.api.ConstructNode::class)
mbonnin
01/27/2025, 4:34 PM#!/usr/bin/env kotlin
@file:DependsOn("it.krzeminski:snakeyaml-engine-kmp:3.1.0")
println(it.krzeminski.snakeyaml.engine.kmp.api.ConstructNode::class)
Javier
01/27/2025, 4:38 PMUnless KGP multiplatform creates maven compatible publications now?I doubt, the manual fix to allow not needing -jvm on Maven is still mandatory
mbonnin
01/27/2025, 4:43 PMPiotr KrzemiĆski
01/27/2025, 5:23 PMAdam S
01/27/2025, 8:46 PMAdam S
01/27/2025, 8:46 PMPiotr KrzemiĆski
01/28/2025, 5:38 AMPiotr KrzemiĆski
01/28/2025, 7:20 AMrm -rf ~/.m2/repository
)
2. Call the script.
3. Check what sits in find ~/.m2/repository/it/krzeminski
for me it's:
/Users/piotr/.m2/repository/it/krzeminski
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp-jvm
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp-jvm/3.1.0
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp-jvm/3.1.0/snakeyaml-engine-kmp-jvm-3.1.0.pom
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp-jvm/3.1.0/snakeyaml-engine-kmp-jvm-3.1.0.pom.sha1
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp-jvm/3.1.0/snakeyaml-engine-kmp-jvm-3.1.0.jar
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp-jvm/3.1.0/snakeyaml-engine-kmp-jvm-3.1.0.jar.sha1
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp-jvm/3.1.0/_remote.repositories
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp/3.1.0
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp/3.1.0/snakeyaml-engine-kmp-3.1.0.jar.sha1
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp/3.1.0/snakeyaml-engine-kmp-3.1.0.jar
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp/3.1.0/_remote.repositories
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp/3.1.0/snakeyaml-engine-kmp-3.1.0.pom.sha1
/Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp/3.1.0/snakeyaml-engine-kmp-3.1.0.pom
I grepped over files in /Users/piotr/.m2/repository/it/krzeminski/snakeyaml-engine-kmp
and there's no mention of jvm
Piotr KrzemiĆski
01/28/2025, 7:22 AMsnakeyaml-engine-kmp-jvm
appears, then after several seconds comes snakeyaml-engine-kmp
Piotr KrzemiĆski
01/28/2025, 7:26 AMgithub-workflows-kt
which is a purely JVM lib depends on snakeyaml-engine-kmp-jvm
đ€ŠââïžPiotr KrzemiĆski
01/28/2025, 7:26 AM@file:DependsOn("it.krzeminski:snakeyaml-engine-kmp:3.1.0")
but it just doesn't, and the script works as if this line wasn't there (the multiplatform artifact of snakeyaml-engine-kmp
is fetched even though Kotlin Scripting cannot really use it)Piotr KrzemiĆski
01/28/2025, 7:28 AMsnakeyaml-engine-kmp
is an implementation
kind of dependency in github-workflows-kt
(not api
), so it kind of leaks from there unintentionally:
https://github.com/typesafegithub/github-workflows-kt/blob/32b177e5704c8db43e6fd19ab30f634d7dcd03d2/github-workflows-kt/build.gradle.kts#L24Piotr KrzemiĆski
01/28/2025, 7:29 AM<scope>runtime</scope>
mbonnin
01/28/2025, 8:27 AMKotlin should complain that it doesn't know how to resolveKotlin knows how to resolve that. It resolves to a jar with no JVM bytecode (only Kotlin metadata). So it doesn't compile. But technically the coordinates are resolved.but it just doesn't@file:DependsOn("it.krzeminski:snakeyaml-engine-kmp:3.1.0")
Piotr KrzemiĆski
01/28/2025, 8:29 AMmbonnin
01/28/2025, 8:29 AMmbonnin
01/28/2025, 8:30 AMmbonnin
01/28/2025, 8:31 AMaltavir
02/17/2025, 9:04 AM