2011-06-28 15 views
5

Mam SBT 0.10.0 projekt, który deklaruje kilka zależności nieco takich jak:Jak listę słoików zależność dostać z SBT 0.10.0 Projekt

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, ...) 

    ... 
} 

życzę creat regułę gromadzeniu się zebrać wszystko zależność słoika "proj", dzięki czemu mogę utworzyć dowiązanie symboliczne do jednego katalogu.

Dzięki.

+0

Wartość "libraryDependencies"? Myślisz, że możesz zacząć sbt w linii poleceń i napisać lib + i otrzymywać sugestie .. – eivindw

+0

Wiem, że OP pytał o sbt 10.0, ale dla innych, właśnie zauważyłem, że w 11.3 możesz uzyskać ścieżkę klasy z "sbt classpath". – Traveler

Odpowiedz

8

Zadanie Przykład SBT wydrukować pełny ścieżce klasy runtime

Poniżej znajduje się mniej więcej co używam. Zadanie "get-jars" jest wykonywane z polecenia 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) 
) 
} 

Inne zasoby

  • Unofficial guide do SBT 0,10.
  • Keys.scala definiuje predefiniowane klucze. Na przykład możesz zamienić fullClasspath na managedClasspath.
  • This plugin Definiuje proste polecenie do generowania pliku .ensime i może być użytecznym odnośnikiem.
+2

Dziękujemy! Ten nieoficjalny link do przewodnika to wielkie życzenie, że już go znalazłem. BTW masz niesamowite imię. – crelbor

+0

Dzięki! Miło, że mogłem pomóc. –

Powiązane problemy