This message was deleted.
# community-support
s
This message was deleted.
j
I am applying the
kotlin-bom
with the version 1.6.10, and I got this when I print dependencies, and I don't understand what mean that
-> 1.7.0
Copy code
+--- org.jetbrains.kotlin:kotlin-bom:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.7.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-test:1.6.10 -> 1.7.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 -> 1.7.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10 -> 1.7.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 -> 1.7.10 (c)
|    +--- org.jetbrains.kotlin:kotlin-test-common:1.6.10 -> 1.7.0 (c)
|    +--- org.jetbrains.kotlin:kotlin-test-annotations-common:1.6.10 -> 1.7.0 (c)
|    \--- org.jetbrains.kotlin:kotlin-reflect:1.6.10 -> 1.6.21 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1
I should expect this:
Copy code
testImplementation - Implementation only dependencies for compilation 'test' (target  (jvm)). (n)
+--- org.jetbrains.kotlin:kotlin-test:1.6.10 (n)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.1 (n)
+--- io.kotest:kotest-assertions-core:5.3.0 (n)
\--- org.jetbrains.kotlin:kotlin-test:1.6.10 (n)
but I am getting
Copy code
testImplementation - Implementation only dependencies for compilation 'test' (target  (jvm)). (n)
+--- org.jetbrains.kotlin:kotlin-test:1.7.0 (n)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.1 (n)
+--- io.kotest:kotest-assertions-core:5.3.0 (n)
\--- org.jetbrains.kotlin:kotlin-test:1.7.0 (n)
f
You have some other dependency that depends on Kotlin 1.7.0 and that is why your dependencies get upgraded from 1.6.10 to 1.7.0
j
It is not possible to force to use 1.6.10?
I tried with enforcedPlatform, no luck
Kotest probably is using 1.7.0, but I don't understand the utility of using bom if later a third party dependency can change what you are defining
f
enforcesPlatform
usually works, but if some special instructions are at play it is possible that another dependency can force the upgrade. Regardless, it is a very bad idea to downgrade dependencies. If you want to use 1.6.10 then you need to ensure that all dependencies are compatible with 1.6.10.
A BOM is not meant to enforce a version, it sets a baseline and defaults.
In a perfect world it also aligns libraries. But, most people don't know how to properly publish dependencies with a BOM, so in practice this usually doesn't work out.
You see that in your output. Not all Kotlin dependencies are consistently upgraded to 1.7.0. This is because JetBrains did not publish them properly.
j
Thank you very much for your detailed answers. I am going to try to modify the test so ensure they are passing knowing this info 🙂