2016-01-08 3 views
0

У меня есть проект муравья с более чем 100 модулями. Я просматриваю все модули, компилируя, упаковывая и публикую в одном запуске сборки. Однако, когда один плющ: публикация выходит из строя (из-за случайной проблемы подключения), вся сборка завершается.ivy опубликуйте несколько модулей - как продолжить публикацию других, если не удастся

Я хотел бы, чтобы процесс сборки продолжал компилировать/публиковать оставшиеся модули, даже если один модуль не может опубликовать по какой-либо причине.

Есть ли какие-либо настройки в плющом: публиковать, чтобы предотвратить выход из-за ошибки или какой-либо другой способ достичь этого?

благодаря

ответ

0

Так как вы по всей видимости, с помощью ANT для вызова нескольких суб-сборки, то я хотел бы представить это проблема контура управления, а, что-то конкретное для плюща. Другими словами, вам лучше всего обеспечить, чтобы сборка каждого модуля была автономной, так как вы можете их создавать, а затем в вашем цикле сбор каждого модуля должен преуспеть или сработать.

Вы не указали, к чему похож ваш основной файл сборки? Я бы очень рекомендовал использовать задачу subant, так как у нее есть флаг «failonerror», который даст вам желаемое поведение (сборка будет продолжена, если сбой модуля).

<subant failonerror="true"> 
    <fileset dir="." includes="**/build.xml" excludes="build.xml"/> 
    <target name="clean"/> 
    <target name="build"/> 
</subant> 

Этого должно быть достаточно, чтобы решить вашу проблему. Любая сбой сборки может быть повторно запущена вручную. На практике это может быть сложно, поскольку один из модулей может привести к сбою последующей сборки из-за отсутствия зависимостей ..... Вам нужно судить о рисках этого для себя.


Вы можете еще больше усложнить свое решение позже, используя встроенный скрипт для запуска сборки модулей. Если у вас много и много ошибок, вы можете добавить некоторую логику обработки ошибок.

+0

да я использую subant '' –

+0

задача, хотя это, как вы упомянули в конце, что после сборки зависит от некоторых предыдущие сборки, поэтому, если модуль выходит из строя при компиляции, он должен остановить и выйти из всего процесса. Единственный раз, когда я хочу, чтобы это продолжалось, - это если плющ публиковать в удаленный репозиторий не удается из-за внешней проблемы в конце удаленного репо (часть, не входящая в контроль нашей команды разработчиков) –

Смежные вопросы