2014-11-05 8 views
6

In this post Ich dachte, ich werde über sbt Aufgaben lernen und auf eigene Faust erstellen. Ich habe eine Stufe erreicht, in der ich eine Aufgabe erstellt habe, die vor der Kompilierung ausgeführt wird und meine Sass kompiliert.SBT Aufgabe vor Kompilierung wird nicht in ausgelösten Kompilation ausgeführt

val sassCompile = TaskKey[ Unit ]("sassCompile") 

sassCompile := { 
    SassCompiler.compile(baseDirectory.value) 
} 

watchSources <++= baseDirectory map { path => ((path/"app"/"assets") ** "*.scss").get } 

compile <<= (compile in Compile) dependsOn sassCompile 

ich zwei Dinge tun:

  1. Stellen Sie sicher, dass jede Änderung SCSS löst Compilation
  2. vor der Kompilierung, sass Compiler läuft

So was funktioniert:

  1. Ausgelöste Kompilierung funktioniert. Jedes Mal, wenn ich meine Skala ändere, löst die Kompilierung aus. (Übliches Verhalten). Jedes Mal, wenn ich .scss innerhalb des genannten Pfades ändere: app/assets/**, Kompilierungstrigger. Alles ist gut.
  2. Wenn ich manuell kompilieren auf der Play-Konsole, wird auch die Sass-Kompilierung ausgelöst und ich kann die CSS-Datei ändern.

Was nicht funktioniert:

Beim Zusammenstellung automatisch ausgelöst wird (durch Aufruf ~ kompilieren oder ~ laufen und dann eine Änderung vornehmen (oder gar keine Änderung) zu machen, sass Kompilierung nicht bekommen . Sogenannte wenn ich spiele tun ~ laufen, mein sass Compiler nicht aufgerufen bekommt

EDIT:.. Wenn es hilft, here eine ähnliche Frage ist

Antwort

3

Sie müssen die letzte Zeile ändern:

compile in Compile <<= (compile in Compile) dependsOn sassCompile 

Erklärung dazu finden Sie here in Abschnitt "Wann ein Bereich angeben".

+0

Entschuldigung, ich habe dies als die Antwort unmarkiert. Weil dies nun das Problem verursacht, dass mein sassCompile-Job für jede Anfrage viele Male ausgeführt wird. Ich kann das Muster nicht für die Anzahl der Male finden, aber um eine Idee zu bekommen, musste ich die Aufgabe mindestens 20 Mal ausführen, nachdem ich nach einer Webseite gefragt habe. – 0fnt

+0

@ user247077 Könnten Sie mehr über dieses neue Problem schreiben? Wie starten Sie Ihre Anwendung in welchem ​​Modus? Vielleicht ähnelt dieses Problem [tihs] (https://groups.google.com/forum/#!msg/play-framework/a9xfBiyAI6s/N3qrbrOAAAwJ) – rtruszk

Verwandte Themen