0
这是我第一次尝试使用clojure,并试图在build.gradle文件中生成一些任务。我现在遇到复杂的错误,如:Gradle动态生成任务
*其中:
构建文件 '/Users/austin/Repositories/test/build.gradle' 行:47
*出了什么问题:
评估根项目“测试”时发生问题。 无法为de.undercouch.gradle.tasks.download.Download类型的任务'downloadDriverfirefox'设置只读属性'src'的值。
我相当肯定这只是我的经验不足与Groovy语言,但我真的可以使用一些指针,以我要去错在何处。
ext {
// The drivers we want to use
drivers = ["firefox", "chrome"]
driversSrc = [:]
driversSrc['firefox'] = 'https://github.com/mozilla/geckodriver/releases/download/v0.15.0/geckodriver-v0.15.0-macos.tar.gz'
driversSrc['chrome'] = 'https://chromedriver.storage.googleapis.com/2.29/chromedriver_mac64.zip'
driverDest = new File("${buildDir}/webdrivers")
}
import org.gradle.api.tasks.*
import de.undercouch.gradle.tasks.download.Download
driversSrc.each { driver, path ->
tasks.create(name: 'downloadDriver'+"${driver}", type: Download) {
src = path
dest ext.driverDest
overwrite true
}
}
driversSrc.each {driver ->
tasks.create(name: 'unzipDriver'+"${driver}", dependsOn: 'downloadDriver'+"${driver}", type: Copy) {
from zipTree(file('downloadDriver'+"${driver}").dest)
into buildDir/'webdrivers'
}
}
这个奇妙的作品,谢谢。 – Austin