2012-04-19 7 views
6

In playframework è presente la funzione di ricarica automatica. Significa che in modalità sviluppo su ogni richiesta il gioco controlla i file sulle modifiche e ricompila e ricarica il progetto se necessario. Quindi, ad esempio se I $ touch conf/routes, il progetto verrà ricaricato alla prossima richiesta.Ricarica app su cambio file personalizzato in playframework

Mi piacerebbe aggiungere un file personalizzato da tenere d'occhio.

Credo che l'impostazione watchSources contenga l'elenco dei file per cui il gioco sta guardando. Ma non funziona per me. Considerare, vogliamo aggiungere il file trigger alle fonti guardate.

watchSources <+= baseDirectory map { _/"trigger" } 

È aggiunto con successo a guardare fonti

[sbt console] $ show watch-sources 
[info] List(/* trigger appears in list */) 

Ma il gioco ignora trigger modifiche e non si riavvia l'applicazione. Cosa mi manca? Come si fa a riprodurre le modifiche ai file personalizzati?

+0

Forse questa è una domanda stupida, ma ti sei ricordato di fare un 'play reload' dopo aver modificato Build.scala? –

+0

Ho provato a pulire, ricaricare, passare a 2.1-SNAPSHOT. Ho iniziato a pensare che tutti i file guardati siano codificati da qualche parte in [PlayReloader] (https://github.com/playframework/Play20/blob/master/framework/src/sbt-plugin/src/main/scala/PlayReloader.scala) – 4e6

+0

La documentazione di SBT sta parlando dell'impostazione di 'watch': https://github.com/harrah/xsbt/wiki/Triggered-Execution. Ma non riesco a trovare più informazioni su quell'impostazione nel wiki. –

risposta

0

non ho mai provato a fare questo, ma dopo avere indagato, ho notato che

watchSources <+= confDirectory map { _/"routes" } 

punti naturalmente al file percorsi in conf (conf/vie aeree). È possibile che tu abbia dimenticato di mettere il file "trigger" in conf (conf/trigger)?

+0

Sospetto l'auto-ricarica funzionerà per ogni file nella directory 'conf' anche se non è elencato in' watchSources' a causa di queste righe in [PlayReloader] (https://github.com/playframework/Play20/blob/master/framework/src/sbt -plugin/src/main/scala/PlayReloader.scala # L21) – 4e6

+0

Questo è un buon punto! –