It would help scala's ecosystem if sbt supported Maven's BOM "Bill of Materials" that (IIUC) would help maintain version coherence across artefacts of the same project.
One current workaround is verifying this at runtime like Akka does: https://github.com/akka/akka/blob/v2.5.17/akka-actor/src/main/scala/akka/util/ManifestInfo.scala
With Maven's BOM you can also rule how plugins work across projects and subprojects. The BOM file enables developers to centralize plugins configuration and dependencies in only one place.
It is great when you work in a big company with many projects and you need to govern common plugins and dependencies across your whole organization.
In https://github.com/sbt/librarymanagement/issues/293 @LogicalTime wrote
When working behind proxies trying to resolve artifacts that do not exist can slow things down unbearably. Currently SBT v1.2.8 seems to request jar artifacts when the pom.xml says packaging=pom. So resolution can stall out for minutes trying to fetch jar files that the pom indicates are not there. Can we please fix this, or have a property that toggles it so SBT can be more widely adopted?
Most helpful comment
With Maven's BOM you can also rule how plugins work across projects and subprojects. The BOM file enables developers to centralize plugins configuration and dependencies in only one place.
It is great when you work in a big company with many projects and you need to govern common plugins and dependencies across your whole organization.