Gradle就是工程的管理,帮我们做了依赖,打包,部署,发布,各种渠道的差异管理等工作。举个例子形容,如果我是一个做大事的少爷平时管不了这么多小事情,那Gradle就是一个贴心的秘书或者管家,把一些杂七杂八的小事情都帮我们做好了,让我们可以安心的打代码,其他事情可以交给管家管。
1、创建gradle项目
i、使用idea创建
ii、使用 gradle init 创建
2、gradle 创建应用的类型
basic
application
libary
gradle plugin
3、目录结构结构
.gradle 项目独有的构建环境,类似于python venv、virtualenv
5.6.2
src
main
test
build.gradle 类似于 Maven POM.xml 比xml配置类灵活主要使用groovy语言编写
settings.gradle 项目的配置
build 构建目录 构建后生成的目录, 类似 maven 的target
4、build.gradle 中的指令
plugins { id "插件名"} 使用的插件与maven的plugin功能相同
repositories 仓库地址可以使用 Maven Ivy file 三种形式, 默认 jcenter()
Maven respoitories {
maven {
url "xxxx"
}
} | mavenCentral()
jcenter 对应地址 jcenter.bintray.com
mavenLocal\mavenCentral\jcenter\google()
dependencies 依赖配置 group:name:version
依赖阶段 类似 maven中的scop
compile、runtime、testcompile、testRuntime、compileOnly、archives、default、classpath
gradle3.0新增 implemention、testImplemention、api
开发阶段使用
developmentOnly
buildscript buildscript中的声明是gradle脚本自身需要使用的资源.可以声明的资源包括依赖项、第三方插件、maven仓库地址等
ext 自定义熟悉 ext.gradle
application
gradlePlugin 自定义gradle插件
plugins {
greeting {
id = 'gradle4.greeting'
implementationClass = 'gradle4.Gradle4Plugin'
}
}
group 项目的组
version 版本
name 名称
task groovy 脚本编写的任务,功能类似于maven中的plugin
dependsOn 依赖的任务
doFirst 最先执行
doLast 最后执行
apply
apply plugin: 引入gradle 二进制插件
apply from: 引入gradle 脚本插件
多项目构建
allprojects 用于多项目构建,为所有项目提供共同所需依赖包
subprojects
archivesBaseName 设置规定名称
发布
publishing
sourceSets 源代码集合,是Java插件用来描述和管理源代码及资源的一个抽象概念,是一个Java源代码文件和资源文件的集合,我们可以通过sourceSets更改源集的Java目录或者资源目录等。
5、setting.gradle
pluginManagement 插件管理,可以设置插件下载地址
pluginManagement { 设置插件下载地址
repositories {
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
gradlePluginPortal()
}
}
rootProject.name = '' 项目名称