私の build.gradle スクリプトには多くのタスクがあり、それぞれが 0 個以上の他のタスクに依存しています。
呼び出すことができる 3 つの「メイン」タスクがあります: moduleInstallation
、backupFiles
およびrestoreFiles
。
質問は次のとおりです。実行するタスクと実行する必要のないタスクをGradleに伝えたいと思います。たとえば、 を呼び出すときに、依存するすべてのタスクを (それらの に関係なく)moduleInstallation
実行したいのですが、復元タスクは実行したくありません。タスクが実行されるフェーズ (構成フェーズ、実行フェーズなど) やその他のいくつかを変更しようとしましたが、すべてのタスクが実行され続けます。UP-TO-DATE flag
私が考えた解決策は、メイン タスクで、このメイン タスクが呼び出されたときに (fe moduleInstallation
)、UP-TO-DATE flag
関連のないすべてのタスクを false に設定して実行しないようにすることでした。それは可能ですか?
編集:ここに例があります:
(に依存する)moduleInstallation
が呼び出されるとbackupFiles
、restoreFiles
( に依存するrestoreFromDate
) も実行されます。
最初の主なアクション
task moduleInstallation << {
println "Hello from moduleInstallation"
}
task backupFiles {
doLast {
println "Hello from backupFiles"
}
}
2 番目のメイン アクション
task restoreFiles {
println "Hello from restoreFiles"
}
task restoreFromDate {
println "Hello from restoreFromDate"
}
依存関係:
moduleInstallation.dependsOn backupFiles
restoreFiles.dependsOn restoreFromDate
したがってgradle moduleInstallation
、ターミナルに入力すると、次の出力が得られます。
Hello from restoreFromDate
Hello from restoreFiles
Hello from backupFiles
Hello from moduleInstallation