这似乎很简单,但是我找不到提供解决方案的单一来源。
我有一个像这样的项目:
src
-main
-resources
-bpmns
-nnn.bpmn
我希望gradle将所有以
bpmn
结尾的文件重命名为bpmn20.xml
,而保留所有已经具有bpmn20.xml
扩展名的文件。这是我的方法:
task renameBPMN(type: Copy) {
outputs.upToDateWhen { false } //to pevent gradle from not executing this task
from('src/main/resources/bpmn/')
into('src/main/resources/bpmn/')
rename ('/^.*\\.(bpmn)$/', '$1.bpmn20.xml')
}
根据一些在线正则表达式测试人员的说法,正则表达式应该匹配
nnn.bpmn
,gradle却什么也没做。有任何想法吗?
最佳答案
根据gradle文档, AbstractCopyTask::rename()
的正则表达式不需要定界符:
rename '(.*)_OEM_BLUE_(.*)', '$1$2'
尝试更换:
rename ('/^.*\\.(bpmn)$/', '$1.bpmn20.xml')
带有:
rename ('^.*\\.(bpmn)$', '$1.bpmn20.xml')
关于regex - 更改gradle中的文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25163564/