そのタスクがスキップされるときに、タスクの依存関係を実行しないことはどういうわけか可能ですか?
以下の例では、 を実行するときにサーバーが既に実行されている場合、jar
(および の依存関係jar
) を実行しないrunServerTests
ようにします。この場合、サーバーは別のプロセスによって開始されます。
apply plugin: 'java'
task startServerIfNotRunning(dependsOn: jar) {
onlyIf { isServerNotRunning() }
...
}
task runServerTests(dependsOn: startServerIfNotRunning) { ... }
常に実行する必要がある他のタスクがそのタスクに依存している可能性があるonlyIf
ため、タスクに を追加したくありません。タスクには、独自の依存関係もありますjar
。jar