首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在发布之前自动清理sbt-release插件?

如何在发布之前自动清理sbt-release插件?
EN

Stack Overflow用户
提问于 2012-11-01 07:32:48
回答 1查看 254关注 0票数 0

我已经尝试了一些方法,比如addCommandAlias("release", ";clean ;release"),以及类似于:

代码语言:javascript
复制
ReleaseKeys.releaseProcess ~= {
   (seq: Seq[ReleaseStep]) =>
    cleanStep +: seq
}

其中cleanStep类似于:

代码语言:javascript
复制
lazy val cleanStep = ReleaseStep(
    action = st => Project.extract(st).runTask(clean, st)._1
)

代码语言:javascript
复制
lazy val cleanStep = ReleaseStep(
    action = st => Project.extract(st).runAggregated(clean, st)
)

基本上,这些方法都不起作用。runTask适用于简单的built.sbt构建,但似乎不适用于多模块构建。

有什么想法吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-11-01 19:00:06

这最终起到了作用。我真的不明白runAggregated应该做什么;我认为它会做这样的事情。但不管怎样,这有一些直觉上的道理;我仍然很欣赏这些建议,因为我觉得我错过了一些东西。

代码语言:javascript
复制
  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
      }
    }
  )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13168924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档