这似乎应该是显而易见的,但我认为不是。给出:
<patternset>
列入白名单的图案如何提供包含列表中与白名单模式匹配的所有文件的<fileset>
?
从列表中获取文件列表非常简单:
<patternset id="the-patternset" includes="${list.of.files}" /> <fileset id="the-fileset" dir="${basedir}"> <patternset refid="the-patternset" /> </fileset> <pathconvert pathsep="${line.separator}" property="the-filelist" refid="the-fileset"/> <echo>fileset: ${the-filelist}</echo>
...将很高兴地生成包含${list.of.files}
中所有文件的文件集。但添加了各种过滤器:
<patternset id="the-filter"> <include name="includeme/**/*.java" /> <exclude name="excludeme/**/*.java" /> </patternset> <patternset id="the-patternset" includes="${list.of.files}" /> <fileset id="the-fileset" dir="${basedir}"> <patternset refid="the-patternset" /> <patternset refid="the-filter" /> </fileset> <pathconvert pathsep="${line.separator}" property="the-filelist" refid="the-fileset"/> <echo>fileset: ${the-filelist}</echo>
...将列出模式集的并集,即所有匹配the-filter
或 the-patternset
的文件。
如何生成包含${list.of.files}
和匹配the-patternset
的文件的文件集?