Java 是否可以在ant中通过refid包含/排除文件列表?
我们目前有一个ant任务,它包含以下类似内容:Java 是否可以在ant中通过refid包含/排除文件列表?,java,ant,Java,Ant,我们目前有一个ant任务,它包含以下类似内容: <filelist dir="${css.dir}" id="ordered_css"> <file name="interface/foo.css" /> <file name="pages/monkey.css" /> <file name="pages/ninja.css" /> <file name="pages/
<filelist dir="${css.dir}" id="ordered_css">
<file name="interface/foo.css" />
<file name="pages/monkey.css" />
<file name="pages/ninja.css" />
<file name="pages/sidebar.css" />
<file name="pages/bar.css" />
<file name="pages/baz.css" />
<file name="pages/robot.css" />
</filelist>
<patternset id="exclude_css">
<exclude name="interface/foo.css" />
<exclude name="pages/monkey.css" />
<exclude name="pages/ninja.css" />
<exclude name="pages/sidebar.css" />
<exclude name="pages/bar.css" />
<exclude name="pages/baz.css" />
<exclude name="pages/robot.css" />
</patternset>
然后,任务引用此处的模式集:
<fileset dir="${css.dir}" id="stuff_css" includes="*/stuff/*.css">
<patternset refid="exclude_css" />
</fileset>
再往下看,它在这里引用了文件集:
<concat destfile="build/all.css" append="false" force="yes">
<filelist refid="ordered_css" />
<fileset refid="stuff_css" />
</concat>
有没有办法将两个文件列表合并为一种可以在两个位置引用的类型?到目前为止,我还没有找到一种方法,因为模式集包含排除项。我希望有一种方法可以简单地创建一个文件列表,并包含或排除引用的列表。如果使用and属性,则
属性可以由两者使用
<property name="css_files"
value="interface/foo.css
pages/monkey.css
pages/ninja.css
pages/sidebar.css
pages/bar.css
pages/baz.css
pages/robot.css"/>
<filelist id="ordered_css" dir="${css.dir}" files="${css_files}"/>
<patternset id="exclude_css" excludes="${css_files}"/>