Mal*_*aYa 4 gradle build.gradle
我有项目(“后端”)配置:
dependencies {
compile project(':model') //I would like to pass some params into this being build.
...
Run Code Online (Sandbox Code Playgroud)
与其他项目(“前端”)的配置非常相似:
dependencies {
compile project(':model') //but from this project I will not pass params.
...
Run Code Online (Sandbox Code Playgroud)
当我构建依赖项目模型时,我需要将一个参数传递给它的构建参数,并根据情况做一些事情。因此,对于需要子项目的所有项目,它将根据他们的需求进行构建。
更具体地说:构建“ backtend”时,“模型”的项目应运行某些任务,但是构建“ frontend”时,则不运行。
是否可以强制清洁子项目?
您可以轻松地从命令行或通过中gradle.properties或中定义的属性传递参数ext。这是一个小项目:
/build.gradle
ext {
var = "alpha"
}
task hello {
println "Name: $project.name"
println "Var: $var"
println "Param: $param"
println "Prop: $prop"
}
Run Code Online (Sandbox Code Playgroud)
/gradle.properties
prop=gama
Run Code Online (Sandbox Code Playgroud)
/settings.gradle
project.name = 'foo'
include 'bar'
Run Code Online (Sandbox Code Playgroud)
/bar/build.gradle
task hello {
println "Name: $project.name"
println "Var: $var"
println "Param: $param"
println "Prop: $prop"
}
Run Code Online (Sandbox Code Playgroud)
如果运行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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2519 次 |
| 最近记录: |