子项目的gradle命令行属性

Jef*_*rey 1 command-line properties gradle

我有一个多项目gradle构建,其顶级具有以下内容:

subprojects {
  apply plugin: 'war'
  httpPort = hasProperty('jettyPort') ? jettyPort.toInteger() : 8080
}
Run Code Online (Sandbox Code Playgroud)

如果我从命令行运行,则返回gradle -PjettyPort=9000 war调用,但如果我在闭包之外移动检查,则返回.hasPropertynullhasPropertysubprojectstrue

这是设计的行为还是应该能够从subprojects我在上面尝试的闭包中访问属性.

dja*_*fan 8

这有用吗?

subprojects {
  apply plugin: 'war'
  httpPort = project.hasProperty('jettyPort') ? jettyPort.toInteger() : 8080
}
Run Code Online (Sandbox Code Playgroud)