在进阶篇中详细讲解了gradle配置相关的详细内容。但是是基于单module的配置,在实际开发时基本全是多module类型的项目。所以本章我们就系统学习下如何构建多模块项目(父-子)以及相关的task内容。
- 基础篇:从概念以及广度上介绍下gradle的核心内容,并构建一个简单的java项目;
- 进阶篇:详细讲解Gradle的配置相关内容;
- 高级篇:讲述一些高级内容,比如多项目构建、自定义task等;
- 实战篇:构建几类常见的java应用,这些代码可以做为模板方便日后使用;
- FAQ篇:提供一些常用的命令和问题供查询;
此章也是基于前面的demo项目进行修改来完善的,所以建议同学简单回顾下前两章的内容。
一、创建多模块项目
这种项目一般也称为父-子架构,父模块负责子模块的管理、公共资源的配置等,没有任何项目源码;子模块有自己的构建脚本以及程序源代码。先回顾下之前项目的结构:
示例中我们将把gradleLearn做为根项目,gradleDemo做为子模块,为达到此目的需要做以下调整:
- 移动settings.gradle.kts文件到gradleLearn根目录下,子模块不需要这个文件;移动或复制gradle.properties文件到gradleLearn根目录下,建议子模块也保留一份gradle.properties文件;
- 初始化根项目,在gradleLearn根目录中执行gradle wrapper任务,重新生成gradle-wrapper相关的文件,包括gradlew文件、gradlew.bat、gradle目录;
- 删除子模块相关的gradle wrapper配置
1、搭建项目结构文件
移动settings.gradle.kts和gradle.properties,多项目结构其实只需动这一个主要文件即可,把它移动根目录下,然后添加如下配置,注意原来的rootProject.name可以改个名字。
rootProject.name = "gradleRoot"include("gradleDemo")
如果idea插件不更新或是gradleDemo/build.gradle.kts一直报错,可以点击右侧窗口中一的【-】号删除原来的gradleDemo项目:
再次刷新可以发现Gradle插件如下图所示,显示一棵树状结构:
2、初始化父模块
在上面视图中选择gradleRoot项目,然后重新运行build setup | wrapper 任务: