我创建的任务复制和FTP包
task ftp(dependsOn: "copyApk") {
doLast {
ant {
taskdef(name: 'ftp',
classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
classpath: configurations.ftpAntTask.asPath)
ftp(server: "ftp.mydomain.com", userid: "ftp.mydomain.com|administrator", password: "adkjadfsid", remoteDir: "download") {
fileset(dir: "E:/.../download/") {
include(name: "my-app.apk")
}
}
}
}
}
几年来,它一直顺利地工作着。我最近将Android Studio升级到Giraffe和包括Gradle在内的一系列其他软件包。根据Android Studio的建议,该任务的脚本已更改为以下内容:
tasks.register('ftp') {
dependsOn "copyApk"
doLast {
ant {
taskdef(name: 'ftp',
classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
classpath: configurations.ftpAntTask.asPath)
ftp(server: "ftp.mydomain.com", userid: "ftp.mydomain.com|administrator", password: "adkjadfsid", remoteDir: "download") {
fileset(dir: "E:/.../download/") {
include(name: "my-app.apk")
}
}
}
}
}
当我运行任务时,我得到以下错误:
Cannot reference a Gradle script object from a Groovy closure as these are not supported with the configuration cache.
有问题的行是:
ant {
有人能提供一个如何解决这个问题的提示吗?
1条答案
按热度按时间yiytaume1#
作为解决方法,您可以在运行任务时禁用配置缓存。例如: