Как проверить версию sbt?

Как проверить, какая версия sbt я запускаю?

У меня есть файл bash, который использует sbt-launch.jar, и он работает, но

$ sbt version

показывает только "версию проекта" (0.1) и

$ sbt --version

ничего не делает.

Ответы

Ответ 1

$ sbt sbtVersion

Это печатает версию sbt, используемую в вашем текущем проекте, или если это мультимодульный проект для каждого модуля.

$ sbt 'inspect sbtVersion'
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] Setting: java.lang.String = 0.13.1
[info] Description:
[info]  Provides the version of sbt.  This setting should be not be modified.
[info] Provided by:
[info]  */*:sbtVersion
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:68
[info] Delegates:
[info]  *:sbtVersion
[info]  {.}/*:sbtVersion
[info]  */*:sbtVersion
[info] Related:
[info]  */*:sbtVersion

Вы также можете использовать sbt about, который (копирование Отметьте комментарий Harrah):

Недавно была добавлена ​​команда about, чтобы попытаться наиболее релевантную информацию, включая версию sbt.

Ответ 2

Запустив команду, "sbt sbt-version" просто выведет ваш текущий каталог и номер версии.

$ sbt sbt-version
[info] Set current project to spark (in build file:/home/morgan/code/spark/)
[info] 0.13.8

Ответ 3

sbt about затем введите, чтобы получить версию SBT

enter image description here

Ответ 4

В SBT 0.13 и выше вы можете использовать задачу sbtVersion (как указано командой @steffen) или about (как указано @mark-harrah)

Разница в том, как задача sbtVersion работает и вне проекта SBT. Когда в проекте SBT sbtVersion отображает версию SBT, используемую проектом и его подпроектами.

$ sbt sbtVersion
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Loading project definition from /Users/jacek/oss/scalania/project
[info] Set current project to scalania (in build file:/Users/jacek/oss/scalania/)
[info] exercises/*:sbtVersion
[info]  0.13.1-RC5
[info] scalania/*:sbtVersion
[info]  0.13.1-RC5

Он установлен в project/build.properties:

jacek:~/oss/scalania
$ cat project/build.properties
sbt.version=0.13.1-RC5

Та же самая задача, выполняемая вне проекта SBT, показывает текущую версию самого исполняемого файла.

jacek:~
$ sbt sbtVersion
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] 0.13.0

Когда вы находитесь снаружи, команда about кажется более подходящей, так как она показывает версию sbt, а также Scala и доступные плагины.

jacek:~
$ sbt about
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] This is sbt 0.13.0
[info] The current project is {file:/Users/jacek/}jacek 0.1-SNAPSHOT
[info] The current project is built against Scala 2.10.2
[info] Available Plugins: com.typesafe.sbt.SbtGit, com.typesafe.sbt.SbtProguard, growl.GrowlingTests, org.sbtidea.SbtIdeaPlugin, com.timushev.sbt.updates.UpdatesPlugin
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.2

Вы можете запустить "help about", чтобы прочитать его документацию:

jacek:~
$ sbt 'help about'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
Displays basic information about sbt and the build.

Для параметра sbtVersion может помочь команда inspect.

$ sbt 'inspect sbtVersion'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] Setting: java.lang.String = 0.13.0
[info] Description:
[info]  Provides the version of sbt.  This setting should be not be modified.
[info] Provided by:
[info]  */*:sbtVersion
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:67
[info] Delegates:
[info]  *:sbtVersion
[info]  {.}/*:sbtVersion
[info]  */*:sbtVersion
[info] Related:
[info]  */*:sbtVersion

Параметр version, который люди, похоже, ожидает проверить, чтобы узнать версию SBT, - установить версию/версию текущего модуля.

$ sbt 'inspect version'
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to jacek (in build file:/Users/jacek/)
[info] Setting: java.lang.String = 0.1-SNAPSHOT
[info] Description:
[info]  The version/revision of the current module.
[info] Provided by:
[info]  */*:version
[info] Defined at:
[info]  (sbt.Defaults) Defaults.scala:102
[info] Reverse dependencies:
[info]  *:projectId
[info]  *:isSnapshot
[info] Delegates:
[info]  *:version
[info]  {.}/*:version
[info]  */*:version
[info] Related:
[info]  */*:version

При использовании в проекте SBT задачи/настройки могут отображать разные выходы.

Ответ 5

Вы можете использовать sbt about

Example: 
    C:\Users\smala>sbt about
    [info] Set current project to smala (in build file:/C:/Users/smala/)
    [info] This is sbt 0.13.6
    [info] The current project is {file:/C:/Users/smala/}smala 0.1-SNAPSHOT
    [info] The current project is built against Scala 2.10.4
    [info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin,   sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin
    [info] sbt, sbt plugins, and build definitions are using Scala 2.10.4"

Ответ 6

запустите консоль sbt, затем введите sbtVersion, чтобы проверить версию sbt, и scalaVersion для scala version

Ответ 7

Выполнение sbt sbt-version привело к некоторой ошибке, так как

[error] Not a valid command: sbt-version (similar: writeSbtVersion, session)
[error] Not a valid project ID: sbt-version
[error] Expected ':'
[error] Not a valid key: sbt-version (similar: sbtVersion, version, sbtBinaryVersion)
[error] sbt-version
[error]            ^

Как вы можете увидеть similar: sbtVersion, version, sbtBinaryVersion подсказку similar: sbtVersion, version, sbtBinaryVersion, все они работают, но правильный генерируется sbt sbtVersion

Ответ 8

Вы можете использовать команду ниже, чтобы проверить версию SBT

sbt sbtVersion
sbt about
sbt 'inspect version'
sbt version