如何为所有源集在Gradle中创建通用流程资源

时间:2018-08-03 17:24:54

标签: gradle build.gradle

对于我的build.gradle,我有三个源集:main,test和IntegrationTest。我需要为所有这三个执行的资源过滤是相同的,就像:

create-react-app foldernameB

但是,上述方法只是过滤主要的源集,为了进行测试和IntegrationTest,我必须将上述方法复制并粘贴两次,分别调用一个方法processTestResources和另一个processIntegrationTestResources。

如何创建一个可以为所有三个源集调用的方法?

1 个答案:

答案 0 :(得分:0)

当我希望可以处理所有资源集的资源时,我发现可以将通用逻辑分解为一个单独的函数,如下所示:

def standardProcessResources(obj) {
    obj.filesMatching(['abc.properties', 'xyz.properties']) {
        expand(version: "1.0",
            buildNumber: "123"
        )
    }
}

然后从我的每个process *任务中调用该方法:

processResources {
    standardProcessResources(processResources)
}

processTestResources {
    standardProcessResources(processTestResources)
}

etc...