2010-08-05 14 views
5

SBT ha desencadenado la ejecución por lo que si ejecuto un comando comowatchpaths Modificación

~test 

Ejecuta todos los casos de prueba y luego espera a que cambia la fuente. Quiero extender este comportamiento para obtener la ejecución activada cada vez que se cambian los archivos de entrada. Todos los archivos de entrada existen en una sola carpeta. Para lograr esto he creado un archivo Scala de project/build carpeta:

import sbt._ 

class ExtendedProject(info: ProjectInfo) extends DefaultProject(info) 
{ 
    override def watchPaths = (mainSources +++ testSources +++ mainResources 
          +++ testResources) \ "d:\\...path to folder" 
} 

pero cuando ejecuto el comando de prueba no pasa nada! Invocando ~test espera por algún tiempo y luego sale sin ningún resultado.

¿Esto se debe a que SBT espera que todas las otras configuraciones se anulen también? ¿Hay alguna forma de especificar watchPaths en el archivo build.properties?

+0

No quiere decir _SBT_ ha dado lugar a la ejecución? –

+0

oh sí, utilicé el nombre incorrecto por error, actualicé la publicación. Gracias por corregir. – thequark

Respuesta

2

prueba este:

override def watchPaths = mainSources +++ testSources +++ mainResources +++ testResources +++ Path.fromFile("/path/to/your/dir") 
+0

muchas gracias Piotr, soy capaz de modificar watchPaths para incluir la carpeta. Otra pregunta. ¿Es posible para mí especificar extensiones de archivo para ser mirado? En el mismo directorio puede haber diferentes archivos, solo quiero ver algunos de ellos basados ​​en la extensión del archivo. – thequark

+0

sí, lo es. Mira el código a continuación. Utiliza FileFilter para filtrar los archivos que no desea verificar. val myfilter = new FileFilter { def accept(f:File) = f.getName.endsWith(".log") } override def watchPaths = mainSources +++ testSources +++ mainResources +++ testResources +++ (Path.fromFile("/Path/to/dir") * myfilter)

Cuestiones relacionadas