¿Cómo verificar la versión de sbt?


335

¿Cómo verifico qué versión de sbt estoy ejecutando?

Tengo la configuración del archivo bash que usa sbt-launch.jar, y funciona, pero

$ sbt version

solo muestra la "versión del proyecto" (0.1) y

$ sbt --version

no hace nada.

Respuestas:


456
$ sbt sbtVersion

Esto imprime la versión sbt utilizada en su proyecto actual, o si es un proyecto de varios módulos para cada módulo.

$ 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

También puede usar sbt abouteso (copiando el comentario de Mark Harrah ):

El comando about se agregó recientemente para intentar imprimir de manera sucinta la información más relevante, incluida la versión sbt.


150
¿Se podría considerar un indicador de línea de comando --version? Es lo que la gente intentará primero.
Matt R

99
La pregunta era "¿Cómo verifico qué versión de sbt estoy ejecutando ?" y la respuesta es sobre la versión pringting del proyecto actual . ¿Por qué se acepta la respuesta?
Cherry

47
Confíe en SBT para elegir siempre la forma más no estándar de hacer las cosas :)
samthebest

15
El mundo entero usa '--version', sbt usa 'sbtVersion'. Tengo que verificarlo cada vez que lo necesito (no con frecuencia).
Osskar Werrewka

55
Obtuso y bien escondido en la documentación, siguiendo la buena y antigua tradición sbt.
matanster

30

Al ejecutar el comando, "sbt sbt-version" simplemente generará su directorio actual y el número de versión.

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

10
Comenzando con sbt 1.0, incluso tiene que usar sbt sbtVersion(camelCase) ya que se ha eliminado la compatibilidad con nombres separados por guiones .
sschuberth

29

sbt about luego ingrese para obtener la versión SBT

ingrese la descripción de la imagen aquí


14

En SBT 0.13 y superior, puede usar la sbtVersiontarea (como lo señala @steffen) o el aboutcomando (como lo señala @ mark-harrah)

Hay una diferencia en cómo funciona la sbtVersiontarea dentro y fuera de un proyecto SBT. Cuando se encuentra en un proyecto SBT, sbtVersionmuestra la versión de SBT utilizada por el proyecto y sus subproyectos.

$ 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

Se establece en project/build.properties:

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

La misma tarea ejecutada fuera de un proyecto SBT muestra la versión actual del ejecutable.

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

Cuando está afuera, el aboutcomando parece encajar mejor, ya que muestra la versión sbt, así como los complementos de Scala y 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

Es posible que desee ejecutar 'ayuda sobre' para leer su documentación:

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.

Para la sbtVersionconfiguración, el inspectcomando puede ayudar.

$ 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

La versionconfiguración que la gente parece esperar inspeccionar para conocer la versión SBT es establecer la versión / revisión del módulo actual .

$ 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

Cuando se usa en un proyecto SBT, las tareas / configuraciones pueden mostrar diferentes resultados.


1
Quizás esté utilizando un iniciador sbt personalizado, como sbt-extras, que anula el significado de sbt-versionuno en la línea de comandos. De lo contrario, no sé de una diferencia entre sbt-versionen la línea de comando y en el indicador. Debe ser la misma sbtVersionconfiguración en ambos casos.
Mark Harrah

¿Hay alguna manera de configurar las diferentes versiones de sbt para los diferentes subproyectos?
ア レ ッ ク ス


¿Por qué la sbt sbtVersionejecución fuera de un proyecto tarda 9 segundos en ejecutarse? Python, node y ruby ​​toman menos de un segundo, al igual que awk, sed, minibloom y un montón de otras herramientas de línea de comandos. gcc toma un segundo entero, que es súper lento. Pero 9 segundos toma la cereza. ¿Qué está haciendo sbt en ese momento?
Max Murphy

La inicialización de @MaxMurphy JVM es una de las cosas más lentas que creo.
Jacek Laskowski

9

Puedes usar sbt about

Ejemplo: 
    C: \ Users \ smala> sbt acerca de
    [info] Establecer el proyecto actual en smala (en el archivo de compilación: / C: / Users / smala /)
    [info] Esto es sbt 0.13.6
    [info] El proyecto actual es {archivo: / C: / Users / smala /} smala 0.1-SNAPSHOT
    [info] El proyecto actual está construido contra Scala 2.10.4
    [información] Complementos disponibles: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin
    [info] sbt, los complementos sbt y las definiciones de compilación utilizan Scala 2.10.4 "

1
Para otros que buscan la respuesta a esta pregunta, ESTA es la respuesta. No puedo entender por qué se aceptó la respuesta errónea anterior ... cavando a través de la discusión, uno puede encontrar esta respuesta ... pero ...
TheGeeko61

2

Desde dentro del sbt shell

sbt:venkat> about
[info] This is sbt 1.3.3
...

0

ejecute la consola sbt, luego escriba sbtVersionpara verificar la versión sbt y scalaVersionpara la versión scala


0

Hacer sbt sbt-versioncondujo a algún error como

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

Como puede ver la pista similar: sbtVersion, version, sbtBinaryVersion, todos funcionan pero el correcto es generado porsbt sbtVersion


Las versiones más recientes de los siguientes trabajos, sbt about o sbt sbtVersion
viru

Ya hay otras respuestas para eso, solo quería incluir información nueva y no repetir otras respuestas @viru
Ramesh Maharjan

0

Puede usar el siguiente comando para verificar la versión SBT

sbt sbtVersion
sbt about
sbt 'inspect version'
sbt version
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.