В документации sbt сказано, что я могу добавить суффикс к версии scala, чтобы sbt мог подбирать исходные коды при сборке с этой версией.
https://www.scala-sbt.org/1.x/docs/Cross-Build.html#Scala -version + specific + source + directory
Здесь не сказано, как я могу указать суффикс, чтобы я мог сопоставить несколько версий scala в одном каталоге. Мне нужен один, чтобы соответствовать как 2.12
, так и 2.13
, и один, чтобы соответствовать 2.11
.
Я нашел несколько примеров этого в нескольких библиотеках, таких как zio
или cats
. Суффиксы выглядели как -2.12+
или -2.12-2.13
. Однако применительно к моей сборке sbt, похоже, не находит эти пути, и компиляция не выполняется, потому что некоторые классы не найдены. Если я разделю их с помощью -2.12
и -2.13
, это будет работать, но мне придется дублировать код.
Вы можете попробовать sbt new scala/scala-seed.g8
и переименовать src/main/scala
в src/main/scala-2.12+
и убедиться, что он не работает, хотя он работает при переименовании в src/main/scala-2.13
.
Может кто-нибудь указать мне к чему мне не хватает? Пробовал sbt версии 1.3.10
и 1.2.8
.