Как получить список jar зависимостей из проекта sbt 0.10.0 - PullRequest
5 голосов
/ 28 июня 2011

У меня есть проект sbt 0.10.0, который объявляет несколько зависимостей вроде:

object MyBuild extends Build {
    val commonDeps = Seq("commons-httpclient" % "commons-httpclient" % "3.1",
                         "commons-lang" % "commons-lang" % "2.6")

    val buildSettings = Defaults.defaultSettings ++ Seq ( organization := "org" )

    lazy val proj = Project("proj", file("src"),
        settings = buildSettings ++ Seq(
            name                    := "projname",
            libraryDependencies     := commonDeps, ...)

    ...
}

Я хочу создать правило сборки, чтобы собрать все зависимости jar "proj", чтобы я мог символически связать их в один каталог.

Спасибо.

1 Ответ

8 голосов
/ 28 июня 2011

Пример задачи SBT для печати полного пути к классу во время выполнения

Ниже примерно то, что я использую. Задача get-jars выполняется из приглашения SBT.

import sbt._
import Keys._
object MyBuild extends Build {
  // ...
  val getJars = TaskKey[Unit]("get-jars")
  val getJarsTask = getJars <<= (target, fullClasspath in Runtime) map { (target, cp) =>
    println("Target path is: "+target)
    println("Full classpath is: "+cp.map(_.data).mkString(":"))
  }
  lazy val project = Project (
    "project",
    file ("."),
    settings = Defaults.defaultSettings ++ Seq(getJarsTask)
  )
}

Другие ресурсы

...