Gradle 无法排除渐变复制任务的目录

Gradle 无法排除渐变复制任务的目录,gradle,copy,build.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 > javaserv

我有一个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"
}
结果是创建了所有文件夹。 dock下的所有文件夹都包含在内。(当我只选择事务文件夹时,为什么会包括其他文件夹?) exclude指令根本不起作用

谢谢。

这应该可以:

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()
  }
}
你也可以找到一个演示