2016-03-30 12 views
1

Ich möchte einen Fatjar mit dem sbt Assembly PlugIn erstellen.Assembling only JVM Teil eines Scala.js CrossProject

Wie kann ich der Assembly-Aufgabe mitteilen, nur den JVM-Teil meines Projekts zu übernehmen?

Mein build.sbt sieht wie folgt aus (ich lasse einige irrelevante Teile aus):

val example = crossProject.settings(
scalaVersion := "2.11.7", 
version := "0.1-SNAPSHOT" 
).jsSettings(
    name := "Client" 
).jvmSettings(
    Revolver.settings:_* 
).jvmSettings(
    name := "Server" 
) 
val exampleJS = example.js 
val exampleJVM = example.jvm.settings(
    (resources in Compile) += { 
     (fastOptJS in (exampleJS, Compile)).value 
     (artifactPath in (exampleJS, Compile, fastOptJS)).value 
    } 
) 
+0

Warum möchten Sie in erster Linie ein Scala.js-Projekt 'assemblieren'? Das ergibt für mich keinen Sinn. – sjrd

+0

Zumindest muss der JVM-Teil auf einem Remote-Server bereitgestellt werden. Mein Projekt sieht ähnlich aus [Beispiel] (https://github.com/lihaoyi/workbench-example-app/tree/autowire/example). Nun, ich könnte den JS-Teil bei der Assembly-Aufgabe weglassen, aber ich habe es nicht geschafft, herauszufinden, wie das geht. Die Zusammenstellung des gesamten crossProject schien mir also eine (arme) Alternative zu sein. –

+0

Ich habe die Frage komplett aktualisiert. Es macht einfach keinen Sinn, den JS-Teil in den Fatjar aufzunehmen. Danke, dass du es aufgezeigt hast. –

Antwort

0

Wie sjrd wies darauf hin, die einfachen exampleJVM/assembly funktioniert.