这是我第一次尝试使用 Clojure,我正在尝试在我的build.gradle文件中生成一些任务。我遇到了复杂的错误,例如:
* Where:
Build file '/Users/austin/Repositories/test/build.gradle' line: 47
* What went wrong:
A problem occurred evaluating root project 'test'.
Cannot set the value of read-only property 'src' for task ':downloadDriverfirefox' of type de.undercouch.gradle.tasks.download.Download.
Run Code Online (Sandbox Code Playgroud)
我相当确定这只是我对常规语言缺乏经验,但我真的可以使用一些指示来指出我哪里出错了。
* Where:
Build file '/Users/austin/Repositories/test/build.gradle' line: 47
* What went wrong:
A problem occurred evaluating root project 'test'.
Cannot set the value of read-only property 'src' for task ':downloadDriverfirefox' of type de.undercouch.gradle.tasks.download.Download.
Run Code Online (Sandbox Code Playgroud)
我做过的事情:
tarTree使用zipTree请尝试这个:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "de.undercouch:gradle-download-task:3.2.0"
}
}
allprojects {
repositories {
jcenter()
}
}
import de.undercouch.gradle.tasks.download.Download
apply plugin: "de.undercouch.download"
ext {
driversSrc = [
"firefox": "https://github.com/mozilla/geckodriver/releases/download/v0.15.0/geckodriver-v0.15.0-macos.tar.gz",
"chrome" : "https://chromedriver.storage.googleapis.com/2.29/chromedriver_mac64.zip"
]
driverDest = "${buildDir}/webdrivers"
}
driversSrc.each { driver, path ->
def fileDest = new File(driverDest, new File(path).getName())
tasks.create(name: "downloadDriver${driver}", type: Download) {
src path
dest fileDest
overwrite true
}
tasks.create(name: "unzipDriver${driver}", dependsOn: "downloadDriver${driver}", type: Copy) {
from path.endsWith("zip") ? zipTree(file(fileDest)) : tarTree(file(fileDest))
into driverDest
}
}
Run Code Online (Sandbox Code Playgroud)
运行任务:
./gradlew unzipDriverfirefox unzipDriverchrome*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8537 次 |
| 最近记录: |