Fleshgrinder
01/14/2022, 3:02 PM-jdk7
and -jdk8
to the dependencies (some build tools can do this automatically). Considering that there are a few nice features like indy
that could be enabled also for the stdlib if it were to be compiled for newer versions. Or could this create issues for transitive dependencies that were compiled against a different Kotlin dependency where they expect it to be Java 1.6 ABI?ephemient
01/14/2022, 6:49 PMFleshgrinder
01/14/2022, 7:37 PMephemient
01/14/2022, 8:23 PMephemient
01/14/2022, 8:33 PMFleshgrinder
01/14/2022, 8:36 PM-Xlambdas=indy
, -Xsam-conversions=indy
, and -Xemit-jvm-type-annotations
, 9+ can also use -Xstring-concat=indy
). So these would end up being totally different artifacts for each. Gradle would automatically use the correct version depending on the current builds requirements (see https://docs.gradle.org/current/userguide/variant_model.html#sec:variant-aware-matching).
The only thing unclear to me is in regards to ABI compatibility of transitive dependencies that compiled against a different Kotin ABI. I’m no expert when it comes to ABI compatibility in Java.ephemient
01/14/2022, 8:36 PMFleshgrinder
01/14/2022, 8:45 PMilya.gorbunov
01/14/2022, 10:19 PMkotlin-stdlib
after we drop support for JDK 1.6 in Kotlin compiler.
But we don't plan to provide different variants for different JDKs, as it may complicate things significantly for non-variant-aware dependency clients.Fleshgrinder
01/14/2022, 10:39 PM