簡體   English   中英

如何從命令行運行單個gradle任務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM