如何在build.gradle中声明gradle版本5.0?

Ark*_*kyo 4 gradle build.gradle

task wrapper在Gradle是4.x时使用但是当我更改gradleVersion为5.0时,gradle包装器声明它无法添加具有相同名称的任务.当它是4.x时,我可以从4.8变为4.9而没有问题,这不会发生.Gradle改变了如何task wrapper运作?

M.R*_*uti 13

wrapper自Gradle 4.8版本起,不推荐在构建脚本中定义自定义任务,请参阅Gradle 4.8折旧(覆盖Gradle的内置任务部分"部分)

从版本4.8(和5.0之前)开始,如果仍然定义自定义wrapper任务,则应该有如下警告消息:

$ ./gradlew clean --warning-mode all

>配置项目:

不推荐创建名为"wrapper"的自定义任务,并计划在Gradle 5.0中将其删除.

您可以使用"wrapper {}"语法配置现有任务,也可以使用其他名称创建自定义任务.

正如所宣布的,wrapper在Gradle 5.0中已经删除了对自定义任务的支持,因此您需要使用新的方式来配置Wrapper:

// Configuring the wrapper, the old way (gradle < 4.8 )
// see https://docs.gradle.org/4.4/userguide/gradle_wrapper.html#sec:wrapper_generation
task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionType = Wrapper.DistributionType.BIN
}

// Configuring the wrapper, the new way (since Gradle 4.8) 
// see https://docs.gradle.org/current/userguide/gradle_wrapper.html#customizing_wrapper
wrapper{
    gradleVersion = '5.1'
    distributionType = Wrapper.DistributionType.BIN
}
Run Code Online (Sandbox Code Playgroud)