二: Gradle中的Project

上一篇文章中提到,Gradle的核心构成之一是project,这是项目开发者最经常光顾的地方

我们现在用gradle init来创建一个项目,Project就是这个样:

├── gradle ➊
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties ❷
├── gradlew ➊
├── gradlew.bat ➊
├── settings.gradle ❸
└── app ❹
    ├── build.gradle ❺
    └── src
        ├── main
        │   └── java 
        │       └── demo
        │           └── App.java
        └── test
            └── java 
                └── demo
                    └── AppTest.java

➊是gradle wrapper相关文件
❷是gradle wrapper的配置,可配置gradle的版本
❸是项目根配置
❹是子项目
❺是子项目编译脚本

查看项目根配置setting.gradle:

//项目名称
rootProject.name = 'demo'
//包含的子项目
include('app')

子项目是app,app/build.gradle是子项目的编译脚本。

project是可以包含多个子项目的,编译的时候,可单独编译需要的子项目,也可以整个项目一起编译。

一个包含多个子项目的setting.gradle长这样:

rootProject.name = 'gradlemulti'
include('app', 'list', 'utilities')

一共包含了app, list, utilites三个子项目,目录结构如下:

$ tree gradlemulti -L 2

gradlemulti
├── app
│   ├── build.gradle
│   └── src
├── buildSrc
│   ├── build.gradle
│   └── src
├── gradle
│   └── wrapper
├── gradlew
├── gradlew.bat
├── list
│   ├── build.gradle
│   └── src
├── settings.gradle
└── utilities
    ├── build.gradle
    └── src

可见和单子项目没有结构性区别,无非是数量变多了,一个子项目一个文件夹,子项目之间是相互独立的

还可以通过gradle projects指令,获取项目的详细信息:

$ gradle projects
Configuration on demand is an incubating feature.

> Task :projects

------------------------------------------------------------
Root project 'gradlemulti'
------------------------------------------------------------

Root project 'gradlemulti'
+--- Project ':app'
+--- Project ':list'
\--- Project ':utilities'

了解了gradle projects结构,我们把目光投向子项目之下的build.gradle,这是每个子项目的真正编译脚本,是指挥gradle编译的魔法棒



《 “二: Gradle中的Project” 》 有 2 条评论

  1. 6 CYP2D6 17 11 20 35 median, 24 CYP2D6 41 30 8 10 0 2 11 14 CYP2D6 2xn 115 1 5 0 2 2 CYP3A4 1B 71 2 9 can i get cytotec at walmart This position is dangerous because it can make breathing difficult

  2. donde comprar priligy mexico On the other hand, right posterior mass that partly included hyperintense fluid on T1 weighted images that showed shading on T2 weighted images can be also diagnosed as endometriotic cyst

回复 agodelo 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

About Me

一位程序员,会弹吉他,喜欢读诗。
有一颗感恩的心,一位美丽的妻子,两个可爱的女儿
mail: geraldlee0825@gmail.com
github: https://github.com/lisuxiaoqi
medium: https://medium.com/@geraldlee0825