[GRADLE-1301] Add exclude/include pattern on filtering feature Created: 10/Jan/11 Updated: 11/Nov/13 Resolved: 11/Nov/13 |
|
| Status: | Resolved |
| Project: | Gradle |
| Affects Version/s: | 0.9.1 |
| Fix Version/s: | 1.7-rc-1 |
| Type: | Improvement | ||
| Reporter: | Nicolas Labrot | Assignee: | Unassigned |
| Resolution: | Fixed | Votes: | 2 |
| Description |
|
Gradle does not allow to copy a fileset and apply a content filtering only to a subset of the set. The common workaround uses two copy. One with include and the filtering on, one with the exclude and the filtering off:
task copyFiles(type: Copy) {
into buildDir
from(webAppDir) {
exclude '**/*.xml'
}
from(webAppDir) {
include '**/*.xml'
filter { doSomethink }
}
}
An improvment could be to add include/exclude pattern on filtering:
task copyFiles(type: Copy) {
into buildDir
from(webAppDir)
filter ('**/*.xml' , doSomethink )
}
|
| Comments |
| Comment by Adam Murdoch [ 11/Nov/13 ] |
|
You can use filesMatching(), filesNotMatching() and eachFile() to fine tune which files are filtered. An example: http://www.gradle.org/docs/1.7/release-notes#pattern-based-file-copy-configuration |