Как я могу сжать несколько папок по отдельности с помощью ant? - PullRequest
3 голосов
/ 10 июня 2011

Если у меня есть папка с несколькими подпапками (например, foo, bar, baz), как я могу использовать ant для индивидуального заархивирования их в foo.zip, bar.zip и baz.zip, не делая их по одному?

В идеале также должен быть способ указать, какие файлы / подпапки архивировать, а не "каждый файл".

Ответы [ 2 ]

4 голосов
/ 10 июня 2011

Вы не хотите использовать ant-contrib.Муравьиный вклад отстой, каждый раз, когда вы используете его, вы несете технический долг.Главное, что нужно учитывать при использовании муравья: пусть муравей будет муравьем.муравей - это то, что есть.это декларативно. Первоначальным намерением ant было простое объявление свойств и основную часть работы, выполняемой в java (где у вас была настоящая IDE с отладчиком и тестовыми средами).Как отмечено в элементах стиля муравья - «Пусть муравей будет муравьем».Если вам нужно использовать ant-contrib, вы должны создать свою собственную задачу ant.Если вы не можете этого сделать, не используйте муравья.ant-contrib берет на себя худшее из ant ant делает его еще хуже, вы скоро обнаружите, что вещи не поддерживаются.Достаточно разглагольствования.

Вам даже не нужно создавать задачу для этого, она должна работать ... она берет все dir в / tmp и архивирует его.должен получить вас большую часть пути туда.

    <mapper id="zip" type="glob"
    from="*"
    to="*.zip"/>

<target name="zip-craziness">
    <apply executable="zip">
        <targetfile/>
        <srcfile/>
        <dirset dir="/tmp" />
         <mapper refid="zip"/>
    </apply>
</target>
0 голосов
/ 10 июня 2011

Я использовал для каждого из ant contrib для такого рода вещей.Вы можете улучшить этот вопрос: Муравей: Как выполнить команду для каждого файла в каталоге?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...