Scala JSのサーバー/クライアントプロジェクトで、いくつかのソースを変更して、サーバーやその他のソースを再起動してパッケージ化プロセスをトリガーします。彼らは単にどちらかと他のことを行うため、私は同時に両方が欲しいので、さまざまなタスクは助けになりません。SBT - タスクに応じて異なるソースを見る
詳細: 私はScala.jsのクロスプロジェクトを持っています。私は、構築されたJavScriptを提供することができ、サーバーを確保するために、以下の使用しています:
val app = crossProject.settings(...)
lazy val appJS = app.js
lazy val jsFile = fastOptJS in(appJS, Compile)
lazy val appJVM = app.jvm.settings(
(resources in Compile) += jsFile.value.data,
(resources in Compile) += jsFile.value.data.toPath.resolveSibling(jsFile.value.data.name+".map").toFile,
(resources in Compile) += (packageJSDependencies in(appJS, Compile)).value
)
私は~ appJVM/compile:packageBin::packageConfiguration
が、その後すぐにコンパイルされ、appJVMターゲット/クラスディレクトリに配置されているJavaScriptのソースに変更を実行した場合、のようにリフレッシュブラウザは私の新しいコードを手に入れます。
しかし、サーバー側のコードを編集すると、sbt-revolverプラグインを使用してサーバーを再起動することもできます。しかし、擦れがあります - ~ ;appJVM/compile:packageBin::packageConfiguration;appJVM/reStart
を使用すると、クライアント側のソースに変更があっても、サーバーを再起動します。これは望ましくありません。しかし、クライアント側のプロジェクトを推移的な時計から削除しても、クライアント側のプロジェクトを変更してもそれ以上気付かないのです。
タスクごとにwatchTransitiveSourcesを別々に定義する方法はありますか?
もっと一般的には私は '' '' '' '' ''を全く使わず、任意のファイルセットと彼らが変更するたびにいくつかの他のタスクを実行しますが、私のグーグルが私を失望させている - 私はこれをやっている人の例を見つけることができません。 –
私はあなたの質問がより簡単に書くことができると思います。また、答えを示唆するのではなく、あなたの必要性を説明してください。私が正しく理解していれば、いくつかのソースを変更して、サーバやその他のソースを再起動してパッケージングプロセスを起動させたいが、再起動は必要ありません。彼らは単にどちらか一方をして、あなたは両方を同じ時間にしたいので、異なる仕事は助けにならないでしょう。あれは正しいですか? – Atais
はい、それは正しいです。私はあなたの言葉に私の最初の段落を変更します。 –