2016-01-16 4 views
6

Sto definendo un'attività sbt che deve chiamare il codice in una libreria. Ecco un file build.sbt con quello che ho provato finora:Come posso utilizzare una dipendenza dalla libreria nella definizione di un'attività sbt?

libraryDependencies ++= Seq("com.some.company" %% "some-lib" % "1.0.0") 

val doSomething = taskKey[Unit]("does something") 

doSomething := { 
    import com.some.company.function 
    function() 
} 

Le importazioni non funzionano. Come si definisce un'attività che dipende dal codice in una libreria esterna?

risposta

8

Per creare il file .sbt nella directory principale, SBT utilizza le informazioni nella directory project. Così si può mettere un build.sbt nella directory project e impostare la chiave libraryDependencies lì:

libraryDependencies ++= Seq("com.some.company" %% "some-lib" % "1.0.0") 

Quindi, per chiarire, ora avete due build.sbt file:

  1. ./build.sbt
  2. ./project/build.sbt
+0

Ho trovato i documenti ufficiali per questo: http: //www.scala-sbt.org/release/docs/Organizing-Build.html –