2010-08-05 12 views
5

एसबीटी निष्पादन शुरू हो गया है। जब भी इनपुट फाइलें बदली जाती हैं तो मैं निष्पादन को ट्रिगर करने के लिए इस व्यवहार को विस्तारित करना चाहता हूं। सभी इनपुट फाइलें एक फ़ोल्डर में मौजूद हैं। इस लक्ष्य को हासिल करने के लिए मैं project/build फ़ोल्डर में एक स्केला फ़ाइल बनाई:संशोधित करना watchpaths

import sbt._ 

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

लेकिन जब मैं निष्पादित परीक्षण आदेश कुछ नहीं होता! ~test का आह्वान कुछ समय के लिए इंतजार कर रहा है और फिर बिना किसी आउटपुट के बाहर निकलता है।

ऐसा इसलिए है क्योंकि एसबीटी अन्य सभी सेटिंग्स को ओवरराइड करने की अपेक्षा करता है? Build.properties फ़ाइल में watchPaths निर्दिष्ट करने का कोई तरीका है?

+0

क्या आप इसका मतलब यह नहीं _SBT_ निष्पादन शुरू हो रहा है? –

+0

ओह हाँ, मैंने गलती से अनुचित नाम का उपयोग किया, पोस्ट को अपडेट किया। सुधार करने के लिए धन्यवाद। – thequark

उत्तर

2

कोशिश इस एक:

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

बहुत बहुत धन्यवाद पियेटर, मैं फ़ोल्डर को शामिल करने के लिए watchPaths को संशोधित करने में सक्षम हूं। एक और प्रश्न। क्या मेरे लिए देखने के लिए फ़ाइल एक्सटेंशन निर्दिष्ट करना संभव है। उसी निर्देशिका में अलग-अलग फाइलें हो सकती हैं, मैं फ़ाइल एक्सटेंशन के आधार पर उनमें से केवल कुछ देखना चाहता हूं। – thequark

+0

हाँ, यह है। नीचे दिए गए कोड को देखो। यह उन फाइलों को फ़िल्टर करने के लिए फ़ाइलफिल्टर का उपयोग करता है जिन्हें आप जांचना नहीं चाहते हैं। 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)

संबंधित मुद्दे