Gradle-具有动态依赖关系的单构建.Gradle

Gradle-具有动态依赖关系的单构建.Gradle,gradle,build.gradle,Gradle,Build.gradle,因此,我们有一个庞大的多项目代码库,其结构如下: C:\Eclipse\Workspace-> AR DC CI .. .. 每个项目都有一个build.gradle文件,其中80%的代码相同,所有项目的依赖项部分都发生了更改 我想要达到的目标: 我想创建一个名为“BuildAllProje

因此,我们有一个庞大的多项目代码库,其结构如下:

C:\Eclipse\Workspace->
                    AR
                    DC
                    CI
                    ..
                    ..
每个项目都有一个build.gradle文件,其中80%的代码相同,所有项目的依赖项部分都发生了更改

我想要达到的目标:

我想创建一个名为“BuildAllProjects”的父项目,这将是唯一一个具有build.gradle、settings.gradle和gradle.properties的项目,并建议创建一个属性文件,用于说明每个项目的依赖关系,例如:

AR=j2ee,commons-lang,FW,DA,Common
DC=commons-codec,FW,DA,Common,spring-core
然后使用gradle expand[]属性动态填充我正在构建的项目的依赖项,因此,例如,如果我正在构建AR,我可能希望运行:

gradle -PAR build
它将从属性中读取“AR”的依赖项,并以以下形式展开:

dependencies {
   compile name 'j2ee'
   compile name 'commons-lang'
}
你们认为这是可能的还是最糟糕的方法?我是GRADLE的新手,上面提供的信息是基于我在一周内获得的知识。请提供您的建议,以便在gradle最好的时候实现这一点

谢谢,
Yogendra

在Gradle的构建语言之上分层基于属性文件的构建语言对我来说并不可取。相反,我建议专注于编写干净、干燥的Gradle构建脚本。您可以在中进一步了解Gradle强大的抽象功能(配置注入、脚本插件、
buildSrc
、自定义插件和扩展等)


在典型的多项目构建中,子项目构建脚本大多包含依赖项声明,而大多数其他配置发生在根构建脚本和/或脚本插件中。

那么您的意思是,每个子项目仍将有一个build.gradle,但将只有依赖项,而其余80%的代码将放在根构建.gradle中?我仍然无法理解2个gradle构建文件是如何相互使用的?这些都在本文中进行了解释。