如何从包含的构建中获取 Gradle 任务的属性?

Pau*_*ith 6 gradle

我有一个复合 Gradle 构建,在根构建中我想引用其中包含的构建之一中的任务属性,这可能吗?

例如,如果我有这个结构:

rootBuild
 + includedBuild1
   + project1
   + project2
 + includedBuild2
Run Code Online (Sandbox Code Playgroud)

我知道在build.gradle“project1”中我可以使用此语句来输出我感兴趣的属性:

println shadowJar.archiveFile.get()
Run Code Online (Sandbox Code Playgroud)

由于某种原因我不明白,从这个项目的父 build.gradle (“includedBuild1”)我无法直接引用“shadowJar”插件任务,但我能够获取我感兴趣的属性,如下所示:

println tasks.getByPath(':project1:jar').archiveFile.get()
Run Code Online (Sandbox Code Playgroud)

现在我想在根构建中引用相同的属性。但是,尝试类似的操作表明未在引用的任务上设置属性“archiveFile”(即输出“null”):

println gradle.includedBuild('includedBuild1').task(':project1:jar').properties['archiveFile']
Run Code Online (Sandbox Code Playgroud)

有没有办法从复合构建的根引用我感兴趣的属性?