Gradle。将参数传递给依赖的项目构建脚本
Gradle. pass parameters to dependent project build script
我有项目("backend")配置:
dependencies {
compile project(':model') //I would like to pass some params into this being build.
...
和其他项目("frontend")的配置非常相似:
dependencies {
compile project(':model') //but from this project I will not pass params.
...
当我构建依赖项目模型时,我需要将一个参数传递给它的构建参数并根据条件执行某些操作。所以对于所有需要子项目的项目,将根据他们的需要构建。
更具体地说:当我构建 "backtend" - "model" 的项目时应该 运行 一些任务,但是当我构建 "frontend" 时我没有。
是否也可以强制清理子项目?
您可以轻松地从命令行传递参数,或者通过 gradle.properties
或 ext
中定义的属性传递参数。这是一个小项目:
/build.gradle
ext {
var = "alpha"
}
task hello {
println "Name: $project.name"
println "Var: $var"
println "Param: $param"
println "Prop: $prop"
}
/gradle.properties
prop=gama
/settings.gradle
project.name = 'foo'
include 'bar'
/bar/build.gradle
task hello {
println "Name: $project.name"
println "Var: $var"
println "Param: $param"
println "Prop: $prop"
}
如果你 运行 gradle hello -Pparam=beta
它将打印:
Name: foo
Var: alpha
Param: beta
Prop: gama
Name: bar
Var: alpha
Param: beta
Prop: gama
:hello UP-TO-DATE
:bar:hello UP-TO-DATE
我有项目("backend")配置:
dependencies {
compile project(':model') //I would like to pass some params into this being build.
...
和其他项目("frontend")的配置非常相似:
dependencies {
compile project(':model') //but from this project I will not pass params.
...
当我构建依赖项目模型时,我需要将一个参数传递给它的构建参数并根据条件执行某些操作。所以对于所有需要子项目的项目,将根据他们的需要构建。
更具体地说:当我构建 "backtend" - "model" 的项目时应该 运行 一些任务,但是当我构建 "frontend" 时我没有。
是否也可以强制清理子项目?
您可以轻松地从命令行传递参数,或者通过 gradle.properties
或 ext
中定义的属性传递参数。这是一个小项目:
/build.gradle
ext {
var = "alpha"
}
task hello {
println "Name: $project.name"
println "Var: $var"
println "Param: $param"
println "Prop: $prop"
}
/gradle.properties
prop=gama
/settings.gradle
project.name = 'foo'
include 'bar'
/bar/build.gradle
task hello {
println "Name: $project.name"
println "Var: $var"
println "Param: $param"
println "Prop: $prop"
}
如果你 运行 gradle hello -Pparam=beta
它将打印:
Name: foo
Var: alpha
Param: beta
Prop: gama
Name: bar
Var: alpha
Param: beta
Prop: gama
:hello UP-TO-DATE
:bar:hello UP-TO-DATE