[英]How to run a single gradle task from command line
在我的項目中,我在build.gradle中有幾個任務。 我希望這些任務在運行時是獨立的。 即我需要從命令行運行單個任務。 但命令“gradle taskA”將運行我不想要的taskA和taskB。 如何防止任務正在運行?
這是我正在做的事情的樣本。
task runsSQL{
description 'run sql queries'
apply plugin: 'java'
apply plugin: 'groovy'
print 'Run SQL' }
task runSchema{
apply plugin: 'java'
apply plugin: 'groovy'
print 'Run Schema' }
這是我得到的輸出。
我想你錯過的一點是你不在這里定義任務,但是你配置了任務。 請查看gradle文檔: http : //www.gradle.org/docs/current/userguide/more_about_tasks.html 。
你想要的是這樣的:
task runsSQL (dependsOn: 'runSchema'){
description 'run sql queries'
println 'Configuring SQL-Task'
doLast() {
println "Executing SQL"
}
}
task runSchema << {
println 'Creating schema'
}
請注意“doLast”的快捷方式“<<”。 doLast步驟僅在執行任務時執行,而在解析gradle文件時將執行任務配置。
你打電話的時候
gradle runSchema
您將看到“配置SQL任務” ,然后是“創建模式”輸出。 這意味着將運行runSQLTask但不會執行。
如果你打電話
gradle runSQL
比你看,你會看到:
配置SQL-Task:runSchema創建模式:runsSQL執行SQL
執行runSchema是因為runSQL依賴於它。
您可以使用-x
選項或--exclude-task
開關從任務圖中排除任務。 但提供可運行的示例是個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.