如何从某个sbt任务发布 - local(build.scala)

时间:2015-06-30 12:27:58

标签: scala sbt

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

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

1 个答案:

答案 0 :(得分:2)

.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")
      }))
}