添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

I need to configure the subprojects in the root gradle file based on a project set or not set in the individual subproject.

Dumping project.properties.each {} doesn’t seem to help.

Any help is appreciated.

You’re most likely running into an order of operations problem. If you add some debug prints you’ll probably see that the subprojects block is executed before the subprojects are configured.

println "configuring subproject $name"
project.ext.foo = "bar"
subprojects {
    println "config $name from root"
 saravr:

I need to configure the subprojects in the root gradle file based on a project set or not set in the individual subproject.

Are you sure you need to do this? If you are just trying to extract common configuration logic then you can do this in a variety of alternative ways. In general, cross-project configuration is frowned upon, it makes builds difficult to read and comprehend.

Here’s one very simply solution:
common.gradle

// common build logic
if (project.hasProperty("foo")) {
    println "has foo"

Then in each subproject’s build.gradle:

project.ext.foo = "bar"
apply from: rootProject.file("common.gradle")

This way, when a user reads the subproject’s build script, all of the applicable logic is visible and not hidden in the root project.