2017-04-22 43 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