在構(gòu)建工程中,經(jīng)常會(huì)遇到一些常量,將其拓展出來,方便修改,也方便一些對(duì)gradle構(gòu)建腳本不熟悉的開發(fā)人員,
gradle充許我們自定義一些參數(shù),主要有外部定義和內(nèi)部定義,共三種方式
外部定義:1.在gradle.properties聲名,2.是運(yùn)行時(shí)通過命令行設(shè)置;
內(nèi)部定義:3.我們可以傳一個(gè)閉包給project.ext(for "extra properties")屬性,聲明方式與在gradle.properties中的語法方式是一樣的.
下面的例子:打印greeting,直接運(yùn)行會(huì)報(bào)如下錯(cuò),那是因我們沒有定義聲明greeting這個(gè)屬性
Execution failed for task ':printGreeting'.
? ? > Could not find property 'greeting' on task ':printGreeting'.
方式1:在gradle.properties聲名
????greeting = "Hello from a properties file"
方式2:直接在運(yùn)行時(shí),用命令聲明并賦值
????gradle -Pgreeting="Hello from the command line" pG
方式3:直接給project.ext,傳一個(gè)閉包,在拳包中聲明(注意每一個(gè) build.gradle文件對(duì)應(yīng)有一個(gè)project對(duì)象)
ext {
? ? greeting = "Hello from inside the build script"
}
task printGreeting {
? ? doLast {
? ? ? println greeting
? ? }
}