我正在为我的构建使用两个文件:build.sbt和assembly.sbt(用于使用sbt-assembly插件构建胖jar)。我在build.sbt中定义了一些val。我们只是说我正在做一些依赖于它们的自定义任务。但是,我注意到build.sbt中定义的val在assembly.sbt中不可见。所以我最终复制了这两个文件中的代码。如何配置它使assembly.sbt可以在build.sbt中看到val?
谢谢!
答案 0 :(得分:2)
目前,*.sbt
文件中的val应该是命名空间分隔的。我们已经讨论了是否拥有全局命名空间的优点,但最终将它们分开使事情变得更加一致。
" sbt"在 build.sbt之间共享val和设置的方法是:
project/
目录中这样做。对于选项#2,您可以执行以下操作:
<强>项目/ lib.scala 强>
package mylib
object MyStuff {
val foo = "hi"
}
<强> build.sbt 强>
import mylib.MyStuff
// Just reference .scala code from the project/ directory.
name := MyStuff.foo
希望有所帮助!