Я использую плющ для управления связкой файлов deb, которые зависят друг от друга. Я генерирую файлы плюща для каждого deb и добавляя зависимости там, где это необходимо. Я пытаюсь сделать публикацию, но сначала мне нужно сделать шаг решения.Публикация нескольких модулей плюща по одной проблеме зависимости
Я не могу решить, потому что ни один из модулей не находится в репозитории плюща. Это зависимости от времени выполнения, и я использую их, чтобы вытащить из плюща репо конфигурацию файлов deb.
Я попробовал пример «multi-project», который поставляется с ivy src, и обнаружил, что если вы попытаетесь опубликовать проект «размер», он также потерпит неудачу таким же образом; Я сделал ant clean-all
, прежде чем имитировать артефакты/метаданные, являющиеся репо. Я заметил, что он использует <ivy:buildlist />
(http://ant.apache.org/ivy/history/latest-milestone/use/buildlist.html)
Это не работает. Я использую сгенерированный список для выполнения публикации в порядке и получения той же самой проблемы.
Почему мой список сборки возвращает мне тот же набор файлов, что и внутри него?
<target name="publish-shared" depends="" description="--> Publish project's artifacts to SHARED repository">
<ivy:buildlist reference="ivy.dep.files">
<fileset dir="${ivy.build.dir}" includes="**/ivy.xml"/>
</ivy:buildlist>
<for param="ivy.dep.file" list="${toString:ivy.dep.files}" delimiter=":">
<sequential>
<antcall target="publish-shared-onemod" inheritAll="true" inheritRefs="true">
<param name="ivy.dep.file" value="@{ivy.dep.file}" />
</antcall>
</sequential>
</for>
</target>
<target name="publish-shared-onemod">
<ivy:resolve />
<ivy:publish resolver="shared" artifactspattern="${target.dir}/[artifact].[ext]" status="integration" />
</target>
Update: я должен был обратить вспять процесс buildlist <ivy:buildlist reference="ivy.dep.files" reverse="true">
Но что очень странно, когда я указал модуль корня (пример: <ivy:buildlist reference="ivy.dep.files" root="${ivy.module.root}">
) это не нужно обратное. Я должен делать что-то неправильно, но пока я не получу ошибку, я пойду с реверсом.
Дополнительная информация: Я генерирую debian pkgs через процесс CMake. Файлы ivy.xml также генерируются с длинной стороны. Из-за этого у меня нет файлов build.xml для каждой части моего проекта. Я надеюсь решить это с помощью одного скрипта ant в корневом каталоге моей сборки. –
Я пробовал это и получил эквивалентный вывод в своих операциях эха '<путь id =" tmp "> ivy: buildlist> ivy.dep.files = $ {toString: ivy.dep.files} ************** tmp = $ {toString: tmp} ' –