gradle 进程资源:文件路径转换



Grade:如何自定义进程资源以更改jar中的资源文件路径?

例如:

foo/a.xml  --> foo/bar/a.xml

类似于:

使用 gradle 复制树并更改结构?

copy {
   from("${sourceDir}") {
       include 'modules/**/**'
   }
   into(destDir)
   eachFile {details ->
       // Top Level Modules
       def targetPath = rawPathToModulesPath(details.path)
       details.path = targetPath
   }
}
....
def rawPathToModulesPath(def path) {
   // Standard case modules/name/src -> module-name/src
   def modified=path.replaceAll('modules/([^/]+)/.*src/(java/)?(.*)', {"module-${it[1]}/src/${it[3]}"})
   return modified
}

如何在进程资源中添加它?谢谢。

processResourcesCopy 类型的任务。因此,您应该能够做到

processResources {
   eachFile {details ->
       // Top Level Modules
       def targetPath = rawPathToModulesPath(details.path)
       details.path = targetPath
   }
}

相关内容

  • 没有找到相关文章

最新更新