2012-04-19 9 views
6

playframeworkには自動リロード機能があります。つまり、各要求の開発モードでは、変更に関するファイルをチェックし、必要に応じてプロジェクトを再コンパイルして再ロードします。例えば、$ touch conf/routesの場合、プロジェクトは次のリクエストで再読み込みされます。playframeworkでのカスタムファイルのリロードアプリの変更

私は監視するためにカスタムファイルを追加したいと思います。

私はwatchSourcesに設定されているファイルのリストが再生を監視していると確信しています。しかし、それは私のためには機能しません。我々は、目に見えるソースにtriggerファイルを追加したいと考えています。

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

正常に

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

しかし、遊びtrigger変更を無視して、アプリケーションを再起動していないソースを見るために追加されます。私は何が欠けているのですか?カスタムファイルの変更を再生監視する方法は?

+0

これはばかげた質問かもしれませんが、Build.scalaを編集した後で '再生再ロード 'をするのを忘れませんでしたか? –

+0

クリーニング、再ロード、2.1スナップショットへの移行を試みました。私は見たファイルが[PlayReloader](https://github.com/playframework/Play20/blob/master/framework/src/sbt-plugin/src/main/scala/PlayReloader.scala)のどこかにハードコードされていると考え始めました – 4e6

+0

sbtのドキュメントでは、「時計」の設定について話しています:https://github.com/harrah/xsbt/wiki/Triggered-Executionしかし、私はwikiでその設定に関する情報を見つけることはできません。 –

答えて

0

私はこれを行うには試したことがないしましたが、調査の後、私は

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

は当然のconfファイル(conf /ルート)内のルートファイルを指していることに気づきました。 conf(conf/trigger)にファイル "trigger"を入れるのを忘れた可能性はありますか?

+0

私は疑いがあります自動再読み込みは、[playReloader](https://github.com/playframework/Play20/blob/master/framework/src/sbt)のこれらの行のため、 'watchディレクトリ 'にリストされていない場合でも' conf'ディレクトリ内のすべてのファイルに対して機能します-plugin/src/main/scala/PlayReloader.scala#L21) – 4e6

+0

それは良い点です! –

関連する問題