Gradle 多项目构建
-
多项目构建
Gradle可以轻松处理最小和最大的项目。小型项目只有一个构建文件和一个源树。消化和理解一个项目已非常容易,大项目已被分成较小的,相互依赖的模块。Gradle完全支持这种多项目构建方案。 -
多项目构建的结构
这样的构建具有各种形状和大小,但是它们确实具有一些共同的特征-- 一个settings.gradle在项目的根目录或主目录文件。
- 一个build.gradle在根或主目录中的文件。
- 具有自己的*.gradle构建文件的子目录(某些多项目构建可能会省略子项目构建脚本)。
要列出构建文件中的所有项目,可以使用以下命令。C:\> gradle -q projects
输出:------------------------------------------------------------ Root project ------------------------------------------------------------ Root project 'projectReports' +--- Project ':api' - The shared API for the application \--- Project ':webapp' - The Web application implementation To see a list of the tasks of a project, run gradle <project-path>:tasks For example, try running gradle :api:tasks
如果指定,该报告将显示每个项目的描述。您可以使用以下命令指定描述。将其粘贴到build.gradle文件中。description = 'The shared API for the application'
-
指定常规构建配置
在root_project的build.gradle文件中,常规配置可以应用于所有项目或仅应用于子项目。allprojects { group = 'com.example.gradle' version = '0.1.0' } subprojects { apply plugin: 'java' apply plugin: 'eclipse' }
这指定了一个通用com.example。gradle组和0.1.0版本的所有项目。子项目闭包对所有子项目应用公共配置,但不像allprojects闭包那样对根项目应用公共配置。 -
项目特定的配置和依赖项
如果核心ui和util子项目有特殊需要,则根ui和util子项目也可以拥有自己的build.gradle文件,而根项目的常规配置尚未应用这些文件。例如,ui项目通常与核心项目有依赖关系。因此,ui项目需要其自己的build.gradle文件来指定此依赖性。例如,ui项目通常与核心项目有依赖关系。因此,ui项目需要其自己的build.gradle文件来指定此依赖性。-dependencies { compile project(':core') compile 'log4j:log4j:1.2.17' }
项目依赖关系是通过project方法指定的。