I’m trying to filter out and rename some files from the classpath when creating a war:
war {
from “${project(’:frontend’).projectDir}/app”
filesMatching(’**/*’) {
println “main filesMatching: $it”
}
webInf {
filesMatching(’**/*’) {
println “webInf filesMatching: $it”
}
}
}
I see all the files coming from the ‘…/frontend/app’ directory being printed as expected, from both filesMatching blocks, but none of the files coming from the classpath is being printed. So I haven’t found any way to remove (or rename) some files, coming from the classpath, from the war.
Is that expected? How can I filter files from the classpath?
BTW, another thing that surprises me is that the ‘webInf.fileMatching’ block prints files that don’t go into WEB-INF.
No, that’s not what I’m trying to do. I’m trying to exclude and rename some files coming from the resources. I need them in build/resources/main when executing my unit tests, but I don’t want them in the war.
Nope. that would allow renaming and excluding files coming from the ‘…/frontend/app’ folder.
What I want is to rename and exclude files coming from the current project’s ‘build/resources/main’ folder and going to the ‘WEB-INF/classes’ directory of the war. These are copied implicitely by the war task.
I got it working with ‘war.rootSpec.filesMatching(“WEB-INF/classes/**”) { println it.path }’, but it shouldn’t have to be that hard. Raised GRADLE-3151 to investigate.