Gradle 3.0 发布了,主要改进包括通过优化 Gradle Daemon 使得性能提升了 75%;也是首次支持 Gradle Script Kotlin 和 JDK 9。
Gradle 是基于 Ant 和 Maven 理念的自动化构建工具。
该版本主要更新如下:
Gradle Daemon 性能提升,并且在 3.0 版本中是默认启用的。
查看 Gradle Daemon 的状态
$> gradle --status PID STATUS INFO 43536 BUSY 3.0 43542 IDLE 3.0 43418 STOPPED (stop command received) 43366 STOPPED (stop command received)
编写 Gradle 构建脚本的时候可以得到更好的 IDE 支持,Gradle 3.0 深度集成了 IDEA 和 Eclipse,提供超多功能:自动完成、重构、追溯源等等。Groovy 仍然是 Gradle 脚本的主要构建语言
import org.gradle.api.tasks.* apply<ApplicationPlugin>() configure<ApplicationPluginConvention> { mainClassName = "org.gradle.samples.HelloWorld" } repositories { jcenter() } dependencies { compile("commons-lang:commons-lang:2.4") testCompile("junit:junit:4.12") } task<Copy>("copyConfig") { from("src/main/conf") into("build/conf") exclude("**/*.old") includeEmptyDirs = false }
Gradle 3.0 支持最新的 Java 9 EAP,用户可以使用最新的 JDK 9 构建和运行测试,但是会有一些限制。
compileJava.options.compilerArgs.addAll(['-release', '7'])
更多关于 Gradle 的更新说明可查看官方发行说明。
引用来自“DuLerWeil”的评论
怎么全局配置插件及依赖的代理或者镜像地址?默认的卡成翔引用来自“Feng_Yu”的评论
你没看文档吗?有的引用来自“DuLerWeil”的评论
看了,文档好像只有依赖镜像的配置,没有插件的。也找了官方社区的一些讨论,但没什么实质性结果引用来自“Feng_Yu”的评论
怎么没有?如果你用的是旧版本的DSL,那么是在buildscript {} DSL中指定repositories {},如果你用的是新版本的plugins {} DSL,那么是在settings.gradle增加pluginRepositories {} DSL。具体看文档引用来自“DuLerWeil”的评论
哥们,还得问下,你说的新旧两种方式我以前包括最近也重新试了。settings.gradle里pluginRepositories {}的方式,好像只能基于项目级别配置,没法做到全局一次性配好,默认对所有项目生效。引用来自“Feng_Yu”的评论
目前不支持。gradle倒是有个全局配置init.gradle(https://docs.gradle.org/current/userguide/init_scripts.html),不过目前不能配置仓库,see issue: https://issues.gradle.org/browse/GRADLE-2801引用来自“DuLerWeil”的评论
嗯,这个issue也是之前看到的,想通过init.gradle这样的全局脚本,把项目依赖、插件等等需要下载的地方全部转到公司的镜像或者代理地址,文档、社区、BugList之类的找了一圈,愣是没找到完整的解决方法。allprojects {
buildscript {
repositories {
mavenLocal()
maven { url "http://172.16.250.3:8081/repository/maven-public/" }
}
}
repositories {
mavenLocal()
maven { url "http://172.16.250.3:8081/repository/maven-public/" }
}
}
但是settings.gradle这玩意是没有全局配置的,所以用plugins {} 定义的插件暂时没好办法重定向仓库,只能自己写settings.gradle了。
引用来自“DuLerWeil”的评论
怎么全局配置插件及依赖的代理或者镜像地址?默认的卡成翔引用来自“Feng_Yu”的评论
你没看文档吗?有的引用来自“DuLerWeil”的评论
看了,文档好像只有依赖镜像的配置,没有插件的。也找了官方社区的一些讨论,但没什么实质性结果引用来自“Feng_Yu”的评论
怎么没有?如果你用的是旧版本的DSL,那么是在buildscript {} DSL中指定repositories {},如果你用的是新版本的plugins {} DSL,那么是在settings.gradle增加pluginRepositories {} DSL。具体看文档引用来自“DuLerWeil”的评论
哥们,还得问下,你说的新旧两种方式我以前包括最近也重新试了。settings.gradle里pluginRepositories {}的方式,好像只能基于项目级别配置,没法做到全局一次性配好,默认对所有项目生效。引用来自“DuLerWeil”的评论
怎么全局配置插件及依赖的代理或者镜像地址?默认的卡成翔引用来自“Feng_Yu”的评论
你没看文档吗?有的引用来自“DuLerWeil”的评论
看了,文档好像只有依赖镜像的配置,没有插件的。也找了官方社区的一些讨论,但没什么实质性结果引用来自“Feng_Yu”的评论
怎么没有?如果你用的是旧版本的DSL,那么是在buildscript {} DSL中指定repositories {},如果你用的是新版本的plugins {} DSL,那么是在settings.gradle增加pluginRepositories {} DSL。具体看文档引用来自“DuLerWeil”的评论
哥们,还得问下,你说的新旧两种方式我以前包括最近也重新试了。settings.gradle里pluginRepositories {}的方式,好像只能基于项目级别配置,没法做到全局一次性配好,默认对所有项目生效。引用来自“ifu25”的评论
这个3.0要怎么部署到Android Studio中?还要更新插件吗?现在as最新的是:com.android.tools.build:gradle:2.1.3
引用来自“DuLerWeil”的评论
怎么全局配置插件及依赖的代理或者镜像地址?默认的卡成翔引用来自“Feng_Yu”的评论
你没看文档吗?有的引用来自“DuLerWeil”的评论
看了,文档好像只有依赖镜像的配置,没有插件的。也找了官方社区的一些讨论,但没什么实质性结果引用来自“mahengyang”的评论
gradle远达不到成熟的地步,文档写的不够清晰,“Gradle Daemon 性能提升了 75%”,可见以前是有多慢引用来自“打杂程序猿”的评论
gradle 的文档..还不够清晰啊....你看的是官方文档吗....我还真没见过..文档有比gradle 细成那样的..
引用来自“mahengyang”的评论
官方文档很细,但是没有条理,太多默认的规则引用来自“554330833a”的评论
怎么替换maven引用来自“DuLerWeil”的评论
怎么全局配置插件及依赖的代理或者镜像地址?默认的卡成翔引用来自“mahengyang”的评论
gradle远达不到成熟的地步,文档写的不够清晰,“Gradle Daemon 性能提升了 75%”,可见以前是有多慢引用来自“打杂程序猿”的评论
gradle 的文档..还不够清晰啊....你看的是官方文档吗....我还真没见过..文档有比gradle 细成那样的..
引用来自“mahengyang”的评论
gradle远达不到成熟的地步,文档写的不够清晰,“Gradle Daemon 性能提升了 75%”,可见以前是有多慢我还真没见过..文档有比gradle 细成那样的..