我在build.gradle
:
apply plugin: 'com.company.gradleplugins.plugin'
当我编译时,Jenkins警告我Gradle 5.0及其弃用:
不推荐使用Task.leftShift(Closure)方法 计划在Gradle 5.0中删除。请使用Task.doLast(动作) 代替。
at build_c4218hywg.run(/Users/user/Documents/project/projectfolder/app/build.gradle:12)
标准替换是明确的(使用doLast
代替<<
),但我发现了一些我不知道如何更新的操作(整个项目不仅仅是我的)。 / p>
所以,在插件中,我有一些:
configJSON = mainProperties.getConfig() << buildProperties.getConfig()
imageNames << image.getFileName()
for (int i = 0; i < m.groupCount(); i++) {
list << m[i][1]
}
等等。目前这样做的方法是什么?
答案 0 :(得分:1)
Task.leftShift(Closure)
- 这是来自Gradle lib的Task类的leftShift()。
imageNames << image.getFileName()
- 这是Collection类的leftShift(),它是Groovy语言的一部分。
如果您要检查 org.codehaus.groovy.runtime.DefaultGroovyMethods ,您会看到:
imageNames << image.getFileName()
是相同的
imageNames.add(image.getFileName())
答案 1 :(得分:1)
好的,最后我在插件项目中找到了这一行。
有下一个代码块:
if(it.hasProperty("android")) {
project.task('mainTask') << {
...
}
}
所以解决方案是:
if(it.hasProperty("android")) {
project.task('mainTask') {
doLast {
...
}
}
}
我的错。