Gradle 如何在processResources中的各种文件类型上运行多个筛选器
在将某个源代码移到构建目录之前,我正在尝试对其进行一些处理。具体来说,对于具有.template名称的文件,将Gradle 如何在processResources中的各种文件类型上运行多个筛选器,gradle,build.gradle,Gradle,Build.gradle,在将某个源代码移到构建目录之前,我正在尝试对其进行一些处理。具体来说,对于具有.template名称的文件,将@timestamp@的实例替换为我定义的timestamp变量。另外,对于.jsp文件,我想删除标记之间的空白 第一部分是替换时间戳。替换JSP中的空白不会导致错误 processResources { def timeStamp = Long.toString(System.currentTimeMillis()) from ('../src/resources/we
@timestamp@
的实例替换为我定义的timestamp
变量。另外,对于.jsp文件,我想删除标记之间的空白
第一部分是替换时间戳。替换JSP中的空白不会导致错误
processResources {
def timeStamp = Long.toString(System.currentTimeMillis())
from ('../src/resources/webapp') {
include '**/*.template'
filter {
it.replace('@timestamp@', timeStamp)
}
rename '(.*)\\.template', '$1'
}
from ('../src/resources/webapp') {
include '**/*.jsp'
filter {
it.replace('>\\s+<', '><')
}
}
}
使用copy过滤像这样的文件是有效的,但是,我注意到我无法从一个位置复制到它自己——文件最终将是空的。这意味着我必须将文件从一个中间目录复制到另一个中间目录,并在每一步应用一个过滤器
我希望能够在一个步骤中将各种转换应用于我的源代码。如何修复我的
processResources
任务?使用eachFile
打印正在处理的文件并调试任务。可能-i
或-d
开关也会有所帮助。使用每个文件
打印正在处理的文件并调试任务可能会出现重复。可能-i
或-d
开关也会有帮助。可能的
task minifyJSPs(type: Copy) {
from ('../src/resources/webapp') {
include '**/*.jsp'
filter {
it.replace('>\\s+<', '><')
}
}
into 'gbuild'
}