我可以在GradleBuild任务中同时使用dir和buildFile吗?

我可以在GradleBuild任务中同时使用dir和buildFile吗?,gradle,Gradle,我试图使用不同的builg.gradle文件从子目录调用gradle任务。 我有以下任务: task(subTask, type: GradleBuild) { dir = new File(project.projectDir, "db/" + project.dbName) buildFile = new File(project.projectDir, "build.gradle.subdir") tasks = [params,...] startPara

我试图使用不同的builg.gradle文件从子目录调用gradle任务。 我有以下任务:

task(subTask, type: GradleBuild) {
    dir = new File(project.projectDir, "db/" + project.dbName)
    buildFile = new File(project.projectDir, "build.gradle.subdir")
    tasks = [params,...]
    startParameter.projectProperties = [env: project.env]
}
我可以传递'dir'或'buildFile',但当我传递两者时,projectDir将是传递的'buildFile'所在的目录,而不是我传递为'dir'的目录,我希望它们位于两个不同的目录中,如上面的任务所示。你知道怎么做吗

更新: 因此,我有以下文件:

格雷德尔先生 build.gradle.subdir 分贝/分贝/ db/dbA/gradle.properties 分贝/分贝/ db/dbB/gradle.properties

由于一些历史事件,我们目前采取以下措施: cp build.gradle.subdir db/dbA/build.gradle cd-db/dbA ../gradlew任务

我需要对db下的每个子目录执行此操作

因此,我认为我可以再做至少一步(尽管仍然很粗糙),不需要外部shell脚本在目录和副本cd上进行循环

我快到了: 我可以手动复制build.gradle.subdir,然后上面的任务(无需传递构建文件)就可以工作了 或
我可以传递buildFile,但不能传递dir,在这种情况下,它开始运行任务,但不读取执行任务所需的db/dirA/gradle.properties。

项目目录必须与包含构建脚本和
gradle.properties
文件的目录相同。你必须为你的问题找到一个不同的解决方案。

你想用这个来实现什么?项目目录始终是包含生成脚本的目录。这是无法更改的。@PeterNiederwieser我用更多细节更新了问题