2017-03-07 2 views
0

Ich habe eine Aufgabe, wo ich auf ein externes Paket zugreifen möchte (Reflektion zu finden, um alle Klassen zu finden, die ein bestimmtes Merkmal dieses Pakets erweitern)SBT sub/build.sbt Importabhängigkeit von root/build.sbt für Task

Das Paket ist in meinem übergeordneten Projekt entlang aller anderen Abhängigkeiten definiert, die für alle Unterprojekte festgelegt sind.

Wie so:

root/build.sbt:

val scalaCss = "com.github.japgolly.scalacss" %% "core" % "0.5.1" 

lazy val subproject = (project in file("subproject")) 
... 
.settings(
... 
, libraryDependencies += scalaCss) 

Teilprojekt/build.sbt

lazy val myAwesomeTask = TaskKey[Unit]("myAwesomeTask") 

myAwesomeTask := { 
    import scalaCss.Defaults._ 
    val standalones = typeOf[scalacss.internal.mutable.StyleSheet.Standalone.Standalone] 
    } 

Jetzt können css.Defaults._ nicht

gelöst werden Wie kann ich ändern, dass , damit es in der Aufgabe verfügbar ist?

Ich möchte die spezifischen Aufgaben im Unterprojekt build.sbt angegeben werden, aber keine Abhängigkeiten dort.

Da das Unterprojekt selbst bereits in root/build.sbt definiert ist, sehe ich keine Möglichkeit, hier eine weitere Abhängigkeit anzugeben. Kann ich die root/build.sbt zu meiner subproject/build.sbt irgendwie importieren?

+0

meinen Vorschlag Hilfe Did? – Sheinbergon

Antwort

1

nicht sicher, dass es funktioniert, aber Sie können in einer separaten Datei def setzen allgemeine Einstellungen versuchen, und dann versuchen, diese (aus beiden Dateien erstellen):

val sub = Project(id = "sub" , base = file(".")).addSbtFiles("<path/to/common.sbt>")

Verwandte Themen