2015-06-30 2 views
1

Как вы публикуете проект в локальном репозитории плюща изнутри внутри кода Build.scala, а не из командной строки sbt? Это должно выполняться так же, как выдача команды publish в командной строке sbt.Как публиковать локальные из задачи sbt (build.scala)

У меня есть определение многопроектной сборки, и я хотел бы (только) один из содержащихся проектов получить публикацию в локальном репозитории плюща.

+0

http://stackoverflow.com/д/20110673/86485? –

+0

Учитывая частичную природу документации sbt, очень сложно простым смертным составить ответ, просто следуя этому более общему вопросу, не говоря уже о 'Build.scala'. – matanster

+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") 
     })) 
} 
Смежные вопросы