2015-05-20 22 views
8

mam build multi-projektowej i próbuję dodać słoik z aktywów generowanych przez SBT-web do ścieżki klasy skryptu uruchomićdodać zasobów SBT-web słoik do ścieżki klasy SBT-native pakującego

Projekt, który mnie interesuje, nazywa się website.

wpisując show website/web-assets:packageBin w sbt tworzy i pokazuje słoik z zasobami. Próbowałem oddanie w (managedClasspath in website) += website/web-assets:packageBin, ale nie kompilacji:

path/to/build.sbt:58: error: value/is not a member of sbt.Project

managedClasspath in website += website/web-assets:packageBin

Jak mogę utworzyć słoik z aktywami kiedy uruchomić zadanie scenie, i umieścić go na ścieżce klasy skryptu uruchomić

Odpowiedz

2

You mieszają polecenia sbt-console z poleceniami build.sbt.

The sbt-web docs dać wyraźny przykład jak to zrobić za pomocą pojedynczego projektu:

(managedClasspath in Runtime) += (packageBin in Assets).value 

Więc teraz możemy zrobić to samo dla kompilacji wielomodułowego. Zakładając, że masz build.sbt który wygląda tak

val root = (project in ".") 
     .aggregate(common, website) 

val common = (project in "commons") 
     .settings(
     libraryDependencies ++= Seq(...), 
     ... 
    ) 

val website = (project in "commons") 
     .enablePlugins(JavaServerAppPackaging, SbtWeb) 
     .settings(
     // ------ You configure it like a single module project 
     (managedClasspath in Runtime) += (packageBin in Assets).value 
     // ---------------------------------------------------- 
    ) 
     .dependsOn(common) 

Nie bezpośrednio badanego to jak nie wiem dokładną konfigurację. Jednak powinno to dać ci właściwy kierunek.