カスタム タスクと既存のタスク (この場合は Compile でコンパイル) の間の依存関係を定義しようとしています。しかし、私が得ることができる最も近いものはこれです:
object ApplicationBuild extends Build {
val hello = TaskKey[Unit]("hello", "Prints 'Hello World'")
val helloTaskA = hello := {
println("Hello World")
}
val helloTaskB = hello <<= hello.dependsOn(compile in Compile)
val main = play.Project(appName, appVersion, appDependencies).settings(
helloTaskA,
helloTaskB
)
これはうまくいくようです。hello は、必要に応じて、実行前にコンパイルをトリガーします。ただし、設定に helloTaskA と helloTaskB の両方を含める必要がある理由はわかりません。設定に helloTaskA を含めないと、次のようになります。
[error] Reference to undefined setting:
[error]
[error] *:hello from *:hello
helloTaskA は不変であるため、helloTaskB は別のタスクであることは理解していますが、helloTaskA が暗黙のうちに含まれると思います。さらに、このように同じタスク キーを持つタスクに対して 2 つの設定を含めることの意味がわかりません。