Муравей zip изменить базовый каталог на zip на другом уровне

У меня есть задача Ant zip, которая выглядит так:

<zip basedir="${workspace.dir}"
    destfile="${build.output.dir}/test.zip"
    includes="${eLibrary}/bin/com/**,
              ${Common}
    excludes="${eLibrary}/lib,
              ${eLibrary}/src"
     >
</zip>

Папка eLibrary имеет структуру, похожую на:

`--bin
    `--com
`--lib
`--src

Я хотел бы, чтобы почтовый файл выглядел так:

`--eLibrary
    `--com
`--Common

Когда zip создан, он имеет следующую структуру:

`--eLibrary
    `--bin
        `--com
`--Common

Я пробовал различные типы операторов включения, но все они включают bin папка:

includes="${eLibrary}/bin/**
includes="${eLibrary}/bin/com/**
includes="${eLibrary}/bin
includes="${eLibrary}/bin/com

Изменение baseir не сработает, потому что мне также нужна папка Common. Любая помощь будет оценена. Благодарю.

1 ответ

Решение

Вы можете проверить zip документация задания для примеров того, как этого добиться. Приведенный ниже фрагмент использует zipfileset вложенный элемент, который отображает включенные записи в каталоги внутри архива.

<zip destfile="${build.output.dir}/test.zip">
    <zipfileset dir="${eLibrary}/bin/com" prefix="${eLibrary}/com"/>
    <zipfileset dir="${Common}" prefix="${Common}"/>
</zip>
Другие вопросы по тегам