如何根据另一个子项目的原型源目录设置原型源目录?

How to set proto source directory based on another sub-project's proto source directory?

以下内容不起作用,因为 test-data-proto-definition 尚未配置,因此 sourceSets.main.proto 不存在:

sourceSets {
  main {
    proto {
      srcDirs = project(':test-data-proto-definition').sourceSets.main.proto.srcDirs
    }
  }
}

以下内容也不符合预期:

generateProtoTasks {
    all().each { task ->
        project.sourceSets.main.proto.srcDirs = ["${project(':test-data-proto-definition').projectDir}/src/main/proto" as String]
    }
}

需要什么才能引用另一个子项目的proto.srcDirs

这里的问题是子项目test-data-proto-definition还没有配置。 Configuration time dependencies 表示使用 evaluationDependsOn 应该可以解决问题。例如:

evaluationDependsOn(':test-data-proto-definition')