【问题标题】:gradle + kotlin-dsl: download filegradle + kotlin-dsl:下载文件
【发布时间】:2018-07-31 13:38:05
【问题描述】:

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

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

我试图搜索它,但我只找到了常规解决方案。

提前致谢!

【问题讨论】:

标签: gradle kotlin gradle-kotlin-dsl


【解决方案1】:

我找到了使用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")
}

【讨论】:

  • 我是 kotlin gradle 的新手,但是在相同的文件中添加插件给了我这个错误:插件 {} 块不能在这里使用。如果您需要强制应用插件,请使用 apply()
【解决方案2】:

简单,没有外部依赖。

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

【讨论】:

    猜你喜欢
    • 2019-09-15
    • 2019-03-22
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2019-04-06
    • 1970-01-01
    • 2020-01-18
    相关资源
    最近更新 更多