0

我尝试了一些方法,例如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 构建,但似乎不适用于多模块构建。

有任何想法吗?

谢谢!

4

1 回答 1

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
      }
    }
  )
于 2012-11-01T11:00:05.723 回答