我已经尝试了一些方法,比如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构建,但似乎不适用于多模块构建。
有什么想法吗?
谢谢!
发布于 2012-11-01 19:00:06
这最终起到了作用。我真的不明白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
}
}
)https://stackoverflow.com/questions/13168924
复制相似问题