Esta página describe cómo usar sbt una vez has configurado tu proyecto. Se supone que has instalado sbt y leído sbt mediante ejemplos.
Lanza sbt en el directorio de tu proyecto sin argumentos:
$ sbt
Ejecutar sbt sin argumentos hace que se inicie un shell de sbt. El shell de sbt tiene un prompt de comandos (¡con autocompletado e historial!).
Por ejemplo, podrías escribir compile
en el shell:
> compile
Para lanzar compile
de nuevo pulsa la tecla arriba y pulsa Intro
.
Para ejecutar tu programa, escribe run
.
Para salir del shell escribe exit
o usa Ctrl+D (Unix) o Ctrl+Z (Windows).
Puedes tambien ejecutar sbt en modo por lotes, proporcionando una lista de comandos sbt separados por espacio como argumentos. Aquellos comandos de sbt que necesiten argumentos pueden ser pasados como un único argumento entrecomillado, por ejemplo:
$ sbt clean compile "testOnly TestA TestB"
En este ejemplo, testOnly
tiene como argumentos TestA
y TestB
.
Los comandos son ejecutados secuencialmente: (clean
, compile
y luego
testOnly
).
Note: El modo por lotes implica levantar una JVM y JIT cada vez, por lo que la construcción será mucho más lenta. Para el desarrollo del día a día recomendamos utilizar el shell de sbt o construir y testear continuamente tal y como se explica más abajo.
A partir de sbt 0.13.16, se lanza un mensaje informativo cuando sbt se utiliza en el modo por lotes.
$ sbt clean compile
[info] Executing in batch mode. For better performance use sbt's shell
...
Sólo será mostrado con sbt compile
.
Puede ser desactivado con suppressSbtShellNotification := true
.
Para acelerar el ciclo editar-compilar-testear puedes indicarle a sbt que recompile automáticamente o lance tests cada vez que guardes un fichero fuente.
Haz que un comando se ejecute cuando uno o más ficheros fuente cambien
prefijando dicho comando con ~
. Por ejemplo, prueba en el shell de sbt:
> ~testQuick
Pulsa Intro
para dejar de observar los cambios.
Puedes utilizar el prefijo ~
tanto en el shell de sbt como en modo por lotes.
Para más información mira Ejecución disparada.
A continuación presentamos una lista con algunos de los comandos más comunes de sbt. Para una lista más completa mira Referencia de línea de comandos.
clean | Borra todos los ficheros generados (en el directorio target). |
compile | Compila los ficheros fuente principales (en los directorios src/main/scala y src/main/java). |
test | Compila y ejecuta todos los tests. |
console | Inicia el intérprete de Scala con un classpath que incluye los ficheros fuente compilados y todas sus dependencias. Para volver a sbt, escribe :quit o pulsa Ctrl+D (Unix) o Ctrl+Z (Windows). |
Ejecuta la clase principal del proyecto en la misma máquina virtual que sbt | |
package | Crea un fichero jar conteniendo los ficheros de src/main/resources y las clases compiladas de src/main/scala y src/main/java. |
help <comando> | Muestra ayuda detallada para el comando especificado. Si no se proporciona ningún comando entonces mostrará una breve descripción de cada comando. |
reload | Recarga la definición de construcción (los ficheros build.sbt, project/*.scala, project/*.sbt). Necesario si cambias la definición de construcción. |
El shell de sbt tiene autocompletado, incluso con un prompt vacío. Una convención especial de sbt es que si se presiona tab una vez se se mostrarán las opciones más probables mientras que si se pulsa más veces se mostrarán aún más opciones.
El shell de sbt recuerda el histórico de comandos, incluso si sales de sbt y lo reinicias. La forma más sencilla de acceder al histórico es con la tecla arriba. Los siguientes comandos están soportados:
! | Muestra la ayuda para comandos históricos. |
!! | Ejecuta el comando previo otra vez. |
!: | Muestra todos los comandos escritos hasta el momento. |
!:n | Muestra los últimos n comandos. |
!n | Ejecuta el comando con índice n, como se muestra en el comando !:. |
!-n | Ejecuta el n-ésimo comando anterior a este. |
!string | Ejecuta el comando más reciente que empiece con 'string.' |
!?string | Ejecuta el comando más reciente que contenga 'string.' |