2017-04-22 75 views
0

下面是用我的build.sbt裏面添加額外的測試資源目錄的代碼,它工作正常: -SBT - 非法動態參考

unmanagedSourceDirectories in Test ++= Seq ((baseDirectory(_/"abc")).value, (baseDirectory(_/"xyz")).value) 

但是,下面的版本給非法動態誤差

val folderList = Seq("abc", "xyz") 
unmanagedSourceDirectories in Test ++= folderList map { src => (baseDirectory(_/src)).value } 

至於建議here,我試圖動態任務還沒有運氣: -

val folderList = Seq("abc", "xyz") 
val dynamic = Def.taskDyn{ 
    Def.task{ 
    folderList 
    } 
} 
unmanagedSourceDirectories in Test ++= dynamic.value map { src => (baseDirectory(_/src)).value } 

請提出正確的語法。

回答

0

您不需要爲此用例定義動態任務。只需使用.value宏:

val folderList = Seq("abc", "xyz") 
unmanagedSourceDirectories in Test ++= 
    folderList.map { src => (baseDirectory in Test).value/src } 
+0

它爲我工作。但是,我用過的語法有什麼問題。對於像我這樣的sbt新手來說,任何參考/細節都非常感謝。 – mogli