Обновите набор файлов, используя муравей динамически - PullRequest
1 голос
/ 15 ноября 2011


Я хотел бы создать файл jar динамически в зависимости от выбранных java-модулей. Вот часть скрипта ant, которая это делает.
<property name="modules.selected" value="A,C,F" />
<for list="${modules.selected}" param="module">
<sequential>
<echo>Module chosen ${basedir}/@{module}/src</echo>
<copy todir="${build.dir.src}" overwrite="true">
<fileset dir="${basedir}/@{module}/src">
<include name="**/*.${src.valid.exts}" />
</fileset>
</copy>
</sequential>
</for>

В приведенном выше сценарии я выбираю модуль, затем создаю каталог и копирую все модули, присутствующие в каталоге, вместоположение (build / src).
Но мне действительно не нравится, что упомянутая выше логика хотела бы изменить, чтобы включить все необходимые модули в fileset и использовать заполненный fileset для копирования.
Вот логика, которую я ищу
<fileset id="required-modules" dir="${basedir}/@{module}/src">
<for list="${modules.selected}" param="module">
<sequential>
<echo>Module chosen ${basedir}/@{module}/src</echo>
<include name="**/*.${src.valid.exts}" />
</sequential>
</for>
</fileset>

<copy todir="${build.dir.src}" overwrite="true">
<fileset refid="required-modules" />
</copy>

Может ли кто-нибудь обновить приведенный выше скрипт, чтобы он работал.

...