鍍金池/ 教程/ 物聯(lián)網/ 使用命令行操作
依賴管理實戰(zhàn)
配置遠程倉庫
安裝Gradle
簡介
項目自動化簡介
配置子項目
Gradle強大的特性
自動化測試
簡介
掌握構建生命周期
使用命令行操作
構建Java項目
管理任務
構建工具
連續(xù)傳遞的特性
用Gradle開發(fā)Web項目
聲明依賴
構建塊
簡介
測試Java應用
java構建工具
為什么選擇Gradle
拆分項目文件
單元測試
多項目打包
Gradle 起步
介紹這個Gradle項目
簡介
自定義腳本
Gradle包裝器
簡要概述依賴管理
項目模塊化

使用命令行操作

我們可以用Gradle命令來執(zhí)行特定的任務,運行一個任務需要你知道該任務的名稱,如果Gradle能夠告訴你有哪些任務可以執(zhí)行那豈不是很棒?Gradle提供了一個輔助的任務tasks來檢查你的構建腳本,然后顯示所有的任務,包含一個描述性的消息。

    $ gradle -q tasks

輸出如下:

    All tasks runnable from root project

    Build Setup tasks

    setupBuild - Initializes a new Gradle build. [incubating]
    wrapper - Generates Gradle wrapper files. [incubating]

    Help tasks
    ----------
    dependencies - Displays the dependencies of root project'grouptherapy'.
    dependencyInsight - Displays the insight into a specific dependency in root
    ? project 'grouptherapy'.
    help - Displays a help message
    projects - Displays the sub-projects of root project 'grouptherapy'.
    properties - Displays the properties of root project 'grouptherapy'.
    tasks - Displays the tasks runnable from root project 'grouptherapy' (some of
    ? the displayed tasks may belong to subprojects).

    Other tasks
    -----------
    groupTherapy

    To see all tasks and more detail, run with --all.

Gradle提供任務組的概念,簡而言之就是將一些任務歸為一組,你可以執(zhí)行這個組里面所有的任務,沒有分組的任務在Other tasks,任務分組后面會講到。

任務執(zhí)行

要執(zhí)行一個任務,只需要輸入gradle + 任務名,Gradle確保這個任務和它所依賴的任務都會執(zhí)行,要執(zhí)行多個任務只需要在后面添加多個任務名。

任務名稱縮寫

Gradle提高效率的一個辦法就是能夠在命令行輸入任務名的駝峰簡寫,當你的任務名稱非常長的時候這很有用,當時你要確保你的簡寫必須是唯一確定那個任務,比如下面的情況:

    task groupTherapy << {
    ...
    }
    task generateTests << {
    ...
    }

這時候你使用gradle gT的時候Gradle就會報錯,因為有多個任務匹配到gT

    $ gradle yG0 gT
    FAILURE: Could not determine which tasks to execute.
    * What went wrong:
    Task 'gT' is ambiguous in root project 'grouptherapy'. Candidates are:
    ? 'generateTests', 'groupTherapy'.
    * Try:
    Run gradle tasks to get a list of available tasks.

    BUILD FAILED

運行的時候排除一個任務

比如運行的時候你要排除yayGradle0,你可以使用-x命令來完成

    $ gradle groupTherapy -x yayGradle0
    :yayGradle1
    Gradle rocks
    :yayGradle2
    Gradle rocks
    :groupTherapy

運行的時候Gradle排除了yayGradle0任務和它依賴的任務startSession。

命令行選項

  • -i:Gradle默認不會輸出很多信息,你可以使用-i選項改變日志級別為INFO
  • -s:如果運行時錯誤發(fā)生打印堆棧信息
  • -q:只打印錯誤信息
  • -?-h,--help:打印所有的命令行選項
  • -b,--build-file:Gradle默認執(zhí)行build.gradle腳本,如果想執(zhí)行其他腳本可以使用這個命令,比如gradle -b test.gradle
  • --offline:在離線模式運行build,Gradle只檢查本地緩存中的依賴
  • -D, --system-prop:Gradle作為JVM進程運行,你可以提供一個系統(tǒng)屬性比如:-Dmyprop=myValue
  • -P,--project-prop:項目屬性可以作為你構建腳本的一個變量,你可以傳遞一個屬性值給build腳本,比如:-Pmyprop=myValue

  • tasks:顯示項目中所有可運行的任務
  • properties:打印你項目中所有的屬性值