简体   繁体   English

gradle + kotlin-dsl:下载文件

[英]gradle + kotlin-dsl: download file

How could I download a file within a gradle task with kotlin-dsl ?如何使用kotlin-dslgradle 任务中下载文件?

I want to download a file from an external source (URL) and store + rename it inside my projectfolder.我想从外部源 (URL) 下载文件并将其存储 + 重命名到我的项目文件夹中。

I tried to search it but I only found groovy solutions.我试图搜索它,但我只找到了 groovy 解决方案。

Thanks in advance!提前致谢!

I found a solution using https://github.com/michel-kraemer/gradle-download-task :我使用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")
}

Simple with no external dependency.简单,没有外部依赖。

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))
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM