gradle war重命名文件常规exp无效

时间:2017-07-14 04:25:17

标签: regex gradle rename war

Gradle war:重命名不使用常规expr的文件。

war {
   into "foo"

   from ("hello/world") {
      include "bar/config/*.xml"
       // remove bar/ in the path
      rename '(.*)/bar/config/(.*)', '$1/config/$2'

      // tried
      // rename 'bar/config/(.*)', 'config/$1'

   }


}

尝试重命名

foo/bar/config/*.xml -> foo/config/*.xml

战争中的进入路径没有改变。

1 个答案:

答案 0 :(得分:0)

rename正在对文件名称进行操作,而不是完整路径。要更改路径,您需要访问FileCopyDetails对象。一种方法是使用filesMatching()

war {
    from('hello/world') {
        includeEmptyDirs = false
        include 'bar/config/*.xml'
        filesMatching('**/*.xml') {
            it.path = it.path.replace('bar/', '')
        }
    }
}