Wie überprüfe ich die sbt-Version?

335

Wie überprüfe ich, welche Version von sbt ich verwende?

Ich habe die Bash-Datei eingerichtet, die verwendet sbt-launch.jar, und es funktioniert, aber

$ sbt version

zeigt nur die "Projektversion" (0.1) und

$ sbt --version

tut nichts.

jpswain
quelle

Antworten:

456
$ sbt sbtVersion

Dadurch wird die in Ihrem aktuellen Projekt verwendete sbt-Version gedruckt oder wenn es sich für jedes Modul um ein Projekt mit mehreren Modulen handelt.

$ 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

Vielleicht möchten Sie das auch verwenden sbt about( Mark Harrahs Kommentar kopieren ):

Der Befehl about wurde kürzlich hinzugefügt, um zu versuchen, die relevantesten Informationen, einschließlich der sbt-Version, kurz und bündig zu drucken.

Steffen
quelle
150
Könnte ein Befehlszeilenflag --version in Betracht gezogen werden? Es ist das, was die Leute zuerst versuchen werden.
Matt R
9
Die Frage lautete : „Wie kann ich überprüfen , welche Version von sbt ich laufen ?“ und die Antwort ist über Pringting-Version des aktuellen Projekts . Warum wird eine Antwort akzeptiert?
Cherry
47
Vertraue darauf, dass SBT immer die
ungewöhnlichste
15
Die ganze Welt benutzt '--version', sbt benutzt 'sbtVersion'. Ich muss es jedes Mal überprüfen, wenn ich es brauche (nicht häufig).
Osskar Werrewka
5
Stumpf und gut in der Dokumentation versteckt, nach guter alter sbt-Tradition.
Matanster
30

Wenn Sie den Befehl "sbt sbt-version" ausführen, werden einfach Ihr aktuelles Verzeichnis und die Versionsnummer ausgegeben.

$ sbt sbt-version
[info] Set current project to spark (in build file:/home/morgan/code/spark/)
[info] 0.13.8
Morgan Kenyon
quelle
10
Beginnend mit sbt 1.0 Sie selbst haben zu verwenden sbt sbtVersion(Camelcase) als Unterstützung für Bindestrich getrennten Namen fallen gelassen wurde .
Sschuberth
29

sbt about Geben Sie dann ein, um die SBT-Version zu erhalten

Geben Sie hier die Bildbeschreibung ein

Prasad
quelle
14

In SBT 0.13 und höher können Sie die sbtVersionAufgabe (wie von @steffen ausgeführt) oder den aboutBefehl (wie von @ mark-harrah ausgeführt) verwenden.

Es gibt einen Unterschied, wie die sbtVersionAufgabe innerhalb und außerhalb eines SBT-Projekts funktioniert. Zeigt in einem SBT-Projekt sbtVersiondie vom Projekt und seinen Teilprojekten verwendete Version von SBT an.

$ 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

Es spielt in project/build.properties:

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

Dieselbe Aufgabe, die außerhalb eines SBT-Projekts ausgeführt wird, zeigt die aktuelle Version der ausführbaren Datei selbst.

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

Wenn Sie draußen sind, aboutscheint der Befehl besser zu passen, da er die sbt-Version sowie die Scala- und verfügbaren Plugins anzeigt.

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

Möglicherweise möchten Sie "help about" ausführen, um die Dokumentation zu lesen:

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.

Für die sbtVersionEinstellung kann der inspectBefehl helfen.

$ 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

Die versionEinstellung, die die Benutzer zu prüfen scheinen, um die SBT-Version zu kennen, ist die Einstellung der Version / Revision des aktuellen Moduls .

$ 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

Bei Verwendung in einem SBT-Projekt können die Aufgaben / Einstellungen unterschiedliche Ausgaben anzeigen.

Jacek Laskowski
quelle
1
Möglicherweise verwenden Sie einen benutzerdefinierten sbt-Starter, z. B. sbt-extras, der die Bedeutung sbt-versioneiner Befehlszeile überschreibt. Ansonsten kenne ich keinen Unterschied zwischen sbt-versionder Befehlszeile und der Eingabeaufforderung. sbtVersionIn beiden Fällen sollte es die gleiche Einstellung sein.
Mark Harrah
Gibt es eine Möglichkeit, die verschiedenen sbt-Versionen für die verschiedenen Teilprojekte festzulegen?
レ ッ ク ス
Warum dauert die sbt sbtVersionAusführung außerhalb eines Projekts 9 Sekunden? Python, Node und Ruby benötigen weniger als eine Sekunde, ebenso wie awk, sed, minibloom und eine Reihe anderer Befehlszeilen-Tools. gcc dauert eine ganze Sekunde, was sehr langsam ist. Aber 9 Sekunden braucht die Kirsche. Was macht sbt in dieser Zeit?
Max Murphy
@ MaxMurphy JVM-Initialisierung gehört zu den langsamsten Dingen, die ich denke.
Jacek Laskowski
9

Sie können verwenden sbt about

Beispiel: 
    C: \ Users \ smala> sbt about
    [info] Aktuelles Projekt auf smala setzen (in Build-Datei: / C: / Users / smala /)
    [info] Dies ist sbt 0.13.6
    [info] Das aktuelle Projekt ist {file: / C: / Users / smala /} smala 0.1-SNAPSHOT
    [info] Das aktuelle Projekt basiert auf Scala 2.10.4
    [info] Verfügbare Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin
    [info] sbt, sbt-Plugins und Build-Definitionen verwenden Scala 2.10.4 "
Sandeep M.
quelle
1
Für andere, die die Antwort auf diese Frage suchen, ist DIES die Antwort. Ich kann nicht verstehen, warum die obige falsche Antwort akzeptiert wurde ... wenn man die Diskussion durchforstet, kann man diese Antwort finden ... aber ...
TheGeeko61
2

Aus der sbt-Shell heraus

sbt:venkat> about
[info] This is sbt 1.3.3
...
Venkat Kotra
quelle
0

Führen Sie die sbt-Konsole aus und geben Sie ein sbtVersion, um die sbt-Version und die scalaVersionScala-Version zu überprüfen

Abdelwahed Houbouby
quelle
0

Dies sbt sbt-versionführte zu einem Fehler als

[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]            ^

Wie Sie den Hinweis sehen können similar: sbtVersion, version, sbtBinaryVersion, funktionieren alle, aber der richtige wird von generiertsbt sbtVersion

Ramesh Maharjan
quelle
Die neueren Versionen funktionieren wie folgt: sbt about oder sbt sbtVersion
viru
Es gibt bereits andere Antworten dafür, dass ich nur neue Informationen aufnehmen und andere Antworten nicht wiederholen wollte @viru
Ramesh Maharjan
0

Mit dem folgenden Befehl können Sie die SBT-Version überprüfen

sbt sbtVersion
sbt about
sbt 'inspect version'
sbt version
Purusothaman S.
quelle