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'
通用构建配置
在根项目的build.gradle 文件中,可以将通用配置应用于所有项目或仅应用于子项目。
allprojects { group = 'com.example.gradle' version = '0.1.0' } subprojects { apply plugin: 'java' apply plugin: 'eclipse' }
这为所有项目指定了一个通用的com.example.gradle 组和0.1.0 版本。subprojects闭包为所有子项目应用通用配置,但不应用于根项目,就像allprojects闭包一样。
配置和依赖项
核心ui 和util 子项目也可以有自己的build.gradle 文件,如果它们有根项目通用配置尚未应用的特定需求。
例如,ui 项目通常依赖于核心项目。因此,ui 项目需要它自己的build.gradle 文件来指定此依赖项。
dependencies { compile project(':core') compile 'log4j:log4j:1.2.17' }
项目依赖项使用 project 方法指定。
广告