gradle + kotlin-dsl: 下载文件

gradle + kotlin-dsl: download file

如何使用 kotlin-dslgradle 任务 中下载文件?

我想从外部源 (URL) 下载文件并将其存储并重命名到我的项目文件夹中。

我试图搜索它,但我只找到 groovy 个解决方案。

提前致谢!

我找到了使用 https://github.com/michel-kraemer/gradle-download-task 的解决方案:

import de.undercouch.gradle.tasks.download.Download

...

plugins {
  ....
  id("de.undercouch.download").version("3.4.3")
}

...

task<DefaultTask>("my-download-task") {
  ...
  val url = " ... "
  val dest = File("...")
  task<Download>("download-task") {
    src(url)
    dest(dest)
  }
  dependsOn("download-task")
}

简单,没有外部依赖。

buildscript {
    repositories {
        jcenter()
        google()
    }

    dependencies {
        classpath("com.android.tools.build:gradle:4.0.1")
    }
}

tasks.register("downloadPdf"){
    val path = "myfile.pdf"
    val sourceUrl = "https://file-examples-com.github.io/uploads/2017/10/file-sample_150kB.pdf"
    download(sourceUrl,path)
}

fun download(url : String, path : String){
    val destFile = File(path)
    ant.invokeMethod("get", mapOf("src" to url, "dest" to destFile))
}