gradle - gradle副本包括关闭不起作用

标签 gradle include copy

Gradle copySpec包含闭包不起作用:

def fileList = ["hello/world.xml"]

task foo(type: Copy) {
  from (zipTree("/path/a.zip")) {
     include { elem ->
         fileList.contains(elem.path)
     }
  }

}

a.zip包含“hello / world.xml”。

信息:
Skipping task 'foo' as it has no source files and no previous output files.

最佳答案

copySpec闭包需要与复制任务一起使用。
您的代码只是复制任务,需要将目标复制到其中。

您的代码应更像这样:

def fileList = ["hello/world.xml"]

def filesToCopy = copySpec {
    from (zipTree("/path/a.zip")) {
        include { elem ->
            fileList.contains(elem.path)
        }
    }
}

task foo(type: Copy) {
    into 'build/target/docs'

    with filesToCopy
}

有关更多信息,请参见API:https://docs.gradle.org/3.3/dsl/org.gradle.api.tasks.Copy.html

关于gradle - gradle副本包括关闭不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45514411/

相关文章:

Gradle Zip 任务 : Add Dynamically Generated File

android - Firebase依赖性冲突找到com.google.firebase:firebase-core:.11.0.4,但需要版本11.0.4

gradle - 将 eclipse android 库项目上传到 maven Central

gradle - 如何在gradle中提供部署依赖关系?

php - 如何在具有相对路径的多个目录/子目录中使用 PHP includes

php - 从 PHP 中生成的多个动态 HTML 表制作 MySQL 插入

c++ - 在 C++ 文件中包含 Objective-C 头文件

java - 关于在Java中复制文本文件的问题

当类没有数据差异时,Java 实现完全从父类(super class)复制

c# - 复制 .svn 文件?