2014-03-04 4 views
5

Ich verwende eine Umgebungsvariable OTHER_HOME, um auf ein anderes SBT-Projektverzeichnis zu zeigen. Ich werde das externe Verzeichnis in Maven-Repository oder über eine Github.com # -Tag-Projektverweis, aber für den Moment möchte ich eine Datei-basierte Abhängigkeit zu einem Play-Projekt hinzufügen.Verwenden von System.getenv, um ProjectRef in build.sbt in Play festzulegen?

Ich habe diese Arbeit bekam in Build.scala Stil:

val otherProjectDir = Option(System.getenv("OTHER_HOME")) 
    .getOrElse("Set environment OTHER_HOME to your 'other' git clone") 

// take the core sublibrary from other project 
val otherCore = ProjectRef(file(otherProjectDir), "core") 

val main = play.Project(appName, appVersion, appDependencies) 
    .dependsOn(otherCore) 

Ich möchte build.sbt wechseln, aber ich habe keine Ahnung, wie dies zu tun. Bitte beraten.

+0

Te klar sein, es funktioniert, aber ich laufe in Probleme mit Teilprojekten. – Jaap

+0

Kopieren und fügen Sie es einfach in 'build.sbt' ohne Änderungen ein. Hast du es ausprobiert? –

+0

Auf welche Probleme stoßen Sie? Es ist schwer zu sagen, wie man Dinge repariert, ohne zu wissen, was die Symptome sind. – jsuereth

Antwort

0

sieht aus wie play hat eine Möglichkeit, ihre "Watch Service" (die Dateien für Änderungen beobachtet) zu manipulieren. versuchen Sie, diese zu build.sbt Nachladen zu machen eine Stunde warten (oder wie lange wollen Sie):

PlayKeys.fileWatchService := play.runsupport.FileWatchService.sbt(3600000) 

siehe hier: https://www.playframework.com/documentation/2.4.x/Migration24#playWatchService-renamed

, wenn Sie vollständig deaktivieren möchten, können Sie sollten der Lage sein, zu schaffen Ihre eigene Instanz einer FileWatchService und setzen Sie den Schlüssel oben, um Ihre benutzerdefinierte Watcher (und machen Sie Ihren Dienst nichts tun). so etwas wie:

PlayKeys.fileWatchService := new FileWatchService { 
    def watch(filesToWatch: Seq[File], onChange:() => Unit): FileWatcher = 
    new FileWatcher { 
     def stop(): Unit =() 
    } 
} 

beachten Sie, dass ich diese Schnipsel nicht getestet haben, aber Sie können als Referenz an der Quelle des FileWatchService hier: https://github.com/playframework/playframework/blob/master/framework/src/run-support/src/main/scala/play/runsupport/FileWatchService.scala#L23

Verwandte Themen