非法动态参考

Joa*_*oan 4 sbt

jniPath := {
    val subProjectPath = projectDependencies.value map (module => (jniPath in LocalProject(module.name)).value)

    val path = libraryDependencies.value flatMap (_.name)

    path ++ subProjectPath mkString File.pathSeparator
}
Run Code Online (Sandbox Code Playgroud)

有没有人有解决方法?似乎这个问题来自于,  (jniPath in LocalProject(module.name)).value 但是我看不出有什么方法可以做到这是SBT的限制吗?

干杯

fom*_*mil 5

您需要在动态任务http://www.scala-sbt.org/0.13/docs/Tasks.html#Dynamic+Computations+中定义您的工作,它允许您根据事物定义任务的依赖关系.在编译时没有明确定义.

请记住,在所有任务中,所有任务实际上都是从依赖关系到结果的映射,并且一旦宏具有其邪恶的方式,thing.value您实际编写的类型(thing).map { valueOfThing => ... }.