How can I create an ant fileset which excludes certain directories based on the contents of the directory?
I use ant to create a distribution jar which has each localization in separate directories, some of which are incomplete and should not be released.
I would like to add something to the directory (for example a file named incomplete.flag
) so that ant excludes the directory. Then I can delete the file when translation is complete, and include it in the build without modifying build.xml.
Given this directory structure:
proj + locale + de-DE + en-US + fr-FR
This fileset excludes all incompelte.flag
files, but how can I exclude the entire directories that contain them?
<fileset dir="${basedir}"> <include name="locale/"/> <exclude name="locale/*/incomplete.flag"> </fileset>
I can write an ant task if need be, but I'm hoping the fileset
can handle this use case.
Description. Alters the default excludes for all subsequent processing in the build, and prints out the current default excludes if desired.
A FileSet is a group of files. These files can be found in a directory tree starting in a base directory and are matched by patterns taken from a number of PatternSets and Selectors. PatternSets can be specified as nested <patternset> elements.
Ant uses an xml file for its configuration. The default file name is build. xml . Ant builds are based on three blocks: tasks, targets and extension points. A task is a unit of work which should be performed and constitutes of small atomic steps, for example compile source code or create Javadoc.
The following approach works for me:
<exclude name="**/dir_name_to_exclude/**" />
You need to add a '/' after the dir name
<exclude name="WEB-INF/" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With