gradle - 无法为 Gradle 复制任务排除目录

标签 gradle copy build.gradle

我有一个 gradle 脚本,我想将 3 个目录复制到另一个文件夹中。但我也必须排除目录。
这是我开始的树结构:

src > java > tms > common  
src > java > tms > dla 
src > java > tms > server 
src > java > tms > javaserver > common 
src > java > tms > javaserver > dock > transaction > local 
src > java > tms > javaserver > dock > transaction > tcd 
src > java > tms > javaserver > dock > transaction > files

我要复制的文件夹是:
src > java > tms > common 
src > java > tms > javaserver > common
src > java > tms > transaction > local
src > java > tms > transaction > files 

这是我正在使用的 Gradle 命令:
task copyTmsCoreSharedFiles(type: Copy) {   
    from ('src/java/com/fedex/ground/tms')  
    include '**/common/*'   
    include '**/javaserver/common/*'            
    include '**/javaserver/dock/transaction/*'  
    exclude '**/javaserver/dock/transaction/tcd*'       
    into  rootProject.rootDir.getAbsolutePath() +"/target-ant"+"/tmscoreshared"
}

结果是创建了所有文件夹。
下的所有文件夹码头被包含在内。 (当我只选择 交易 文件夹时,为什么包括其他文件夹?)
排除 指令根本不起作用。

谢谢。

最佳答案

这应该有效:

ext.dest = project.file("target-ant/tmscoreshared")

task copyTmsCoreSharedFiles(type: Copy) {
    includeEmptyDirs = false
    from ('src/java/com/fedex/ground/tms')
    exclude '**/dla/**'
    exclude '**/server/**'
    exclude '**/tcd/**'
    outputs.dir(dest)
}

task clean {
  doLast {
    dest.delete()
  }
}

您还可以找到演示 here .

关于gradle - 无法为 Gradle 复制任务排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768723/

相关文章:

grails - 如何为Grails 3.x配置Spring Security Rest

c++ - 将字符长度从数组复制到 std::string

gradle - Gradle构建错误

android - 该项目正在使用不受支持的 Android Gradle 插件版本 (0.7.3)

maven - mavenDeployer没有使用变量值

c# - NPOI 将范围复制到另一个工作表

android - 我在签名时似乎无法构建我的android应用程序

android - 将gradle升级到3.5.2后无法构建项目

android - 获取重复条目 : META-INF/LICENSE with Android Studio 3. 0

R将列类从一个数据帧分配(或复制)到另一个