Получение текущей версии плагина 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"
Другие вопросы по тегам