2010-08-05 16 views
5

SBT yürütme tetiklemiştir. Giriş dosyaları değiştiğinde tetiklenen yürütmeyi almak için bu davranışı genişletmek istiyorum. Tüm giriş dosyaları tek bir klasörde bulunur.değiştirme watchpaths

import sbt._ 

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

ama yürüttüğünüzde test komutu hiçbir şey olmaz: Bunu başarmak için ben project/build klasördeki bir scala dosyası oluşturduk! ~test'u çağırmak, bir süre bekler ve herhangi bir çıktı olmadan çıkar.

Bu, SBT'nin diğer tüm ayarların da geçersiz kılınmasını beklediği için mi? BuildProperties dosyasında watchPaths belirtmenin bir yolu var mı? Eğer _SBT_ yürütme tetikledi anlamına

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

yapın: –

+0

oh evet, hatalı adı yanlış kullanarak kullandım, gönderiyi güncelledi. Düzeltdiğiniz için teşekkürler. – thequark

cevap

2

bu bir deneyin

?
+0

Çok teşekkürler Piotr, klasörü dahil etmek için watchPaths'i değiştirebiliyorum. Başka bir soru. İzlenecek dosya uzantılarını belirtmem mümkün mü? Aynı dizinde farklı dosyalar olabilir, dosya uzantısına bağlı olarak sadece birkaçını izlemek istiyorum. – thequark

+0

evet, öyle. Aşağıdaki kodlara bakın. Kontrol etmek istemediğiniz dosyaları filtrelemek için FileFilter kullanır. 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)