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
}
如何在进程资源中添加它?谢谢。
processResources
是 Copy
类型的任务。因此,您应该能够做到
processResources {
eachFile {details ->
// Top Level Modules
def targetPath = rawPathToModulesPath(details.path)
details.path = targetPath
}
}