2012-03-06 29 views
155

Cuando puedo compilar código Scala, mediante la ejecución de sbt compile, SBT dice:Scala SBT: Cómo "volver a ejecutar con -deprecation"

$ sbt compile 
... 
[warn] there were 5 deprecation warnings; re-run with -deprecation for details 
... 

¿Cómo se hace eso? (? Desde dentro SBT)

+2

pregunta similar (que incluye la respuesta a su interrogación) en http://stackoverflow.com/questions/9415962/how-to- see-all-the-warnings-in-sbt-0-11 –

Respuesta

199

Si no desea cambiar su build.sbt:

$ sbt 
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") 
> compile 
> exit 

Editar: Añadido "-unchecked" y in ThisBuild por los comentarios.

+5

¡Gracias! Y 'set scalacOptions + =" -unchecked "' funcionó también :-) – KajMagnus

+2

(Para que el comando tenga algún efecto en una compilación de subproyecto, tuve que cambiar al subproyecto: 'proyecto ') – KajMagnus

+0

Y problema el comando 'set ...' nuevamente. – KajMagnus

18
scalacOptions := Seq("-unchecked", "-deprecation") 

Añadir este ajuste a su build.sbt, y, si usted tiene un proyecto de varios módulos, añadirlo a la configuración de cada proyecto.

0

A medida que fluye el tiempo, surgen nuevas soluciones. Entonces, ahora podría volver a ejecutar el compilador scala sin emitir una reconstrucción completa del proyecto.

Necesita instalar ensime-sbt plugin:

addSbtPlugin("org.ensime" % "sbt-ensime" % "1.0.0") 

Después de que se puede utilizar la tarea ensimeCompileOnly para compilar una sola fila. SBT permite la configuración por ajustes de las tareas, por lo que podría cambiar sólo para que las tareas de:

set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation" 
ensimeCompileOnly src/main/scala/MyFile.scala 
Cuestiones relacionadas