我有一个非常繁重的项目,其中包含许多模块,也就是 sbt 子项目,每个模块都有一个大公司名称前缀。我试图找到project
命令任务键并覆盖它,但没有成功。有没有办法做到这一点?
user1078671
问问题
188 次
1 回答
0
最好的办法是创建一个专用的对象,它有自己的 Scala 文件,它可以定义一个 def Project。
这样你就可以有类似的东西:
[your company].scala
:
object <your company> {
def Project(name: String = "", path: sbt.File, dependencies: Seq[ModuleID] = Seq.empty, isCompanyProject: Boolean = true) = {
val settings = ...
val projectName = if (companyProject) {
... // [your company / your project / whatever] + "-" + name
} else name
val project = sbt.Project(projectName, path, settings = ...)
project
}
}
在与您的文件相同的文件夹中ApplicationBuild.scala
:
object ApplicationBuild extends Build {
...
lazy val foo = <your company>.Project("foo", sbt.file("foo"), fooDependencies)
}
这样您就可以创建一个使用公司前缀[your company]
调用的任务。project
于 2013-08-05T15:13:25.643 回答