前面6篇文章给大家讲解了Gradle的基础部分,大家可以依次查看
Gradle从0入门到实战系列【一】Hello World Gradle
Gradle从0入门到实战系列【二】Groovy And Gradle
Gradle从0入门到实战系列【三】build.gradle之Project
Gradle从0入门到实战系列【四】build.gradle之Task
Gradle从0入门到实战系列【五】工程化之插件
Gradle从0入门到实战系列【六】生命周期剖析
这节课给大家补充下build.gradle中简单的基础配置,算是个小小的总结
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: "war"
//声明
apply plugin: "com.jfrog.bintray"
apply plugin: 'org.akhikhl.gretty' //gradle + jetty 服务器tomcat
/**
* buildscript {} 是构建工具Gradle自身所需要的资源,并不是给我们应用所使用,可以声明maven库和插件依赖
* 如:这个区块里包含gradle-plugin的依赖,因为这个插件包含了Gradle构建APP模块所需要的附加命令。
*/
buildscript {
/**
* repositories {} 区域配置Gradle用来下载依赖的仓库地址。
* Gradle内置支持的远程仓库有JCenter、Maven Central 和 Ivy,4.1版本开始内置支持google()。
* 也可以使用本地仓库或者配置我们自己的远程仓库地址。
* 下面代码示例Gradle使用JCenter作为查找依赖库的代码仓库。
*/
repositories {
maven {url "https://maven.aliyun.com/repository/public"}
maven {url "https://maven.aliyun.com/repository/gradle-plugin"}
jcenter()
}
/**
* dependencies {} 区域配置了Gradle编译APP工程所需要的依赖。
* 下面代码展示路径依赖3.1.0版本gradle-plugin
*/
dependencies {
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.0"
classpath 'org.akhikhl.gretty:gretty:+'
}
}
//只允许buildscript 和 pluginManagement在它前面
plugins {
//核心插件,gradle提供
id 'java'
id 'eclipse'
id 'war'
//非核心插件(社区插件),必须通过id+version的方式进行约束
id 'com.bmuschko.docker-remote-api' version '6.7.0'
id 'com.jfrog.bintray' version '1.8.5'
}
//gav 坐标
group 'com.it235'
version '1.0.0'
sourceCompatibility = 1.8
targetCompatibility = 1.8
/**
* allprojects {} 区域可以配置工程中所有模块都用到的代码仓库和依赖,如,三方插件或者库。
* 如果是一个单体项目可以无需使用allprojects闭包,,直接将repositories写在根节点下
*/
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
google()
jcenter()
}
}
/**
* subprojects {} 区域可以配置工程中所有子模块所使用的代码仓库和依赖,如,三方插件或者库。
* 与allprojects相对应,使用场景较少
*/
subprojects {
repositories {
jcenter()
}
}
test{
useJUnitPlatform()
}
task cleanx() {
println "Hello Gradle"
//Groovy语法,Gradle正真强大的地方,太灵活,所以上手的成本非常高,这也是为什么别人说比Maven好的地方,Maven XML扩展能力太差了
}