356 votes

Comment vérifier la version de sbt ?

Comment puis-je vérifier la version de sbt que j'utilise ?

J'ai mis en place le fichier bash qui utilise sbt-launch.jar et ça marche, mais

$ sbt version

ne montre que la "version du projet" (0.1) et

$ sbt --version

ne fait rien.

493voto

Steffen Points 2720
$ sbt sbtVersion

Ceci imprime la version de sbt utilisée dans votre projet actuel, ou si c'est un projet multi-modules pour chaque module.

$ 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

Vous pouvez également utiliser sbt about que (copier Commentaire de Mark Harrah ) :

La commande about a été ajoutée récemment pour essayer d'imprimer succinctement la informations les plus pertinentes, y compris la version de sbt.

166 votes

Un indicateur de ligne de commande --version pourrait-il être envisagé ? C'est ce que les gens essaient en premier.

3 votes

@MattR Je ne pourrais pas être plus d'accord avec vous... C'est curieux de savoir pourquoi cela n'a pas été la première pensée de l'auteur ou des auteurs de sbt.

0 votes

Existe-t-il un moyen de définir les différentes versions de sbt pour les différentes versions de sbt ? sous-projets ?

35voto

Prasad Points 335

sbt about puis entrer pour obtenir la version SBT

enter image description here

31voto

Morgan Kenyon Points 2134

L'exécution de la commande "sbt sbt-version" affichera simplement votre répertoire actuel et le numéro de version.

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

16voto

Jacek Laskowski Points 6668

Dans SBT 0.13 et plus, vous pouvez utiliser la fonction sbtVersion (comme indiqué par @steffen) ou about commande (comme indiqué par @mark-harrah)

Il y a une différence entre le sbtVersion la tâche fonctionne dans et en dehors d'un projet SBT. Dans le cadre d'un projet TAS, sbtVersion affiche la version du SBT utilisée par le projet et ses sous-projets.

$ 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

Il se déroule dans project/build.properties :

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

La même tâche exécutée en dehors d'un projet SBT montre la version actuelle de l'exécutable lui-même.

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

Quand vous êtes à l'extérieur, le about semble mieux convenir car elle indique la version de sbt ainsi que celle de Scala et des plugins disponibles.

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

Vous pouvez lancer la commande "help about" pour lire sa documentation :

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.

Pour le sbtVersion le paramètre inspect peut vous aider.

$ 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

Le site version Le paramètre que les gens semblent s'attendre à inspecter pour connaître la version du SBT est de définir La version/révision du module actuel .

$ 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

Lorsqu'elles sont utilisées dans un projet SBT, les tâches/réglages peuvent donner des résultats différents.

1 votes

Peut-être utilisez-vous un lanceur sbt personnalisé, tel que sbt-extras, qui remplace la signification de l'option sbt-version sur la ligne de commande. Sinon, je ne connais pas de différence entre sbt-version à la ligne de commande et à l'invite. Ce devrait être la même chose sbtVersion dans les deux cas.

0 votes

Y a-t-il un moyen de définir les différentes versions de sbt pour les différents sous-projets ?

1 votes

10voto

Sandeep M Points 157

Vous pouvez utiliser 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"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X