如何按特定顺序制作Gradle复制源目录?

时间:2014-02-13 20:33:48

标签: gradle

我需要将“myOtherResourcesDir”中的资源复制到“src / test / resources”之前的输出目录中。 看起来FileCollection不遵守命令:

sourceSets.test.resources.srcDirs 'myOtherResourcesDir', 'src/test/resources' 

更新: 我可以配置processTestResources任务来跳过现有文件吗?

2 个答案:

答案 0 :(得分:1)

我最终用两个“from”配置processTestResources任务。最后复制'src / test / resources'中的文件,以便它们覆盖myOtherResourcesDir中的文件。

processTestResources {
    from 'myOtherResourcesDir'
    from 'src/test/resources'
}

答案 1 :(得分:0)

你能详细说明一下你想要实现的目标吗?

文件将复制到processTestResources任务中。目前,在复制多个目录时无法指定顺序

我假设您需要排序的原因是,src / test / ressources中的文件会覆盖从myOtherResourcesDir复制的文件?一种选择是使用eachFile钩子以编程方式从'myOtherResourcesDir'中排除该文件特定文件

processTestResources{
    eachFile{fileDetails ->
        if(fileDetails.file.absolutePath.contains("myOtherResourcesDir/fileToExclude.properties")){
            fileDetails.exclude()
        }
    }
}