我尝试了一些方法,例如addCommandAlias("release", ";clean ;release")
,以及类似的方法:
ReleaseKeys.releaseProcess ~= {
(seq: Seq[ReleaseStep]) =>
cleanStep +: seq
}
cleanStep就像:
lazy val cleanStep = ReleaseStep(
action = st => Project.extract(st).runTask(clean, st)._1
)
和
lazy val cleanStep = ReleaseStep(
action = st => Project.extract(st).runAggregated(clean, st)
)
基本上,这些方法都不起作用。 runTask
适用于简单的built.sbt构建,但似乎不适用于多模块构建。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
这最终起作用了。我真的不明白runAggregated应该做什么;我本以为会做到这一点。但无论如何这有点直观;建议仍然受到赞赏,因为我觉得我错过了什么。
lazy val cleanStep = ReleaseStep(
action = st => {
implicit val display = Project.showContextKey(st)
val session = Project.session(st)
val structure = Project.structure(st)
(structure.allProjectRefs foldLeft st) {
case (s: State, p: ProjectRef) =>
Extracted(structure, session, p).runTask(clean, s)._1
}
}
)