Получение текущей версии плагина sbt кросс
Я пытаюсь создать кросс-плагин sbt между 0.13
а также 1.1
, Для этого мне нужно использовать разные libraryDependencies
для разных сборок, но я не могу найти способ получить доступ к целевой версии текущей сборки sbt.
Назад, когда кросс-компиляция была в плагине, была CrossBuilding.pluginSbtVersion
но я больше не могу найти ничего подобного.
sbtVersion.value
всегда дает мне0.13.16
(sbtVersion in sbtPlugin)
такжеcrossVersion
всегда дает мнеBinary
scalaBinaryVersion
всегда дает мне2.10
Как я могу это сделать?
2 ответа
Решение
Оказывается, решение присутствовало в выводе sbt все время:
[info] Setting `sbtVersion in pluginCrossBuild` to 1.1.2
Я просто должен был использовать (sbtBinaryVersion in pluginCrossBuild).value
Вы можете использовать следующий код:
libraryDependencies ++= {
sbtBinaryVersion.value match {
case "0.13" => Seq(...)
case "1.0" => Seq(...)
}
}
убедитесь, что вы выполняете команды sbt с ^
, чтобы запустить команду на всех версиях SBT, а именно:
sbt "^compile"