【问题标题】:how to publish-local from an sbt task (build.scala)如何从 sbt 任务(build.scala)发布本地
【发布时间】:2015-09-17 06:04:46
【问题描述】:

如何从Build.scala 内的代码中而不是从 sbt 命令行将项目发布到本地 ivy 存储库?这应该与在 sbt 命令行上发出 publish 命令相同。

我有一个多项目构建定义,我希望(仅)将其中一个项目发布到本地 ivy 存储库。

【问题讨论】:

  • 鉴于 sbt 文档的零碎性质,对于普通人来说,仅仅按照这个更一般的问题来编写答案是非常困难的,更不用说Build.scala了。
  • 好的,然后看我的回答。

标签: scala sbt


【解决方案1】:

.sbt 构建中,你会写:

val myTask = taskKey[Unit](
  "runs publish and does some other stuff too")
myTask := {
  val result = publishLocal.value
  println("do some other stuff too")
}

如果你把这些东西放到.scala 构建中,你会得到:

import sbt._
import Keys._

object MyBuild extends Build {
  val myTask = taskKey[Unit](
    "runs publish and does some other stuff too")
  lazy val root = Project(
    id = "foo",
    base = file("."),
    settings = Seq(
      myTask := {
        val result = publishLocal.value
        println("do some other stuff too")
      }))
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-06
    • 2013-01-25
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多