Мне нужно повторно использовать крупный проект на C++, который в настоящее время разрабатывается внутри eclipse, используя функцию создания CDT, mingw и cdt (без внешних make-файлов или среды сборки). Сам проект состоит из множества подпроектов.Уничтожить сборку eclipse/cdt в непрерывную интеграцию
Я хочу интегрировать эту сборку в сервер непрерывной интеграции (jenkins именно) и, таким образом, иметь возможность автоматизировать сбор без головы.
До сих пор мне удалось оформить проект (легко от Jenkins) и иметь его построить в обезглавленный режиме, используя затмение, используя следующую команду:
C:\prog\EclipseCdt\eclipse -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import %WORKSPACE%\project1 -import %WORKSPACE%\project2 -import %WORKSPACE%\project3 -build all
Пришло, однако, не достаточно:
- сборка асинхронна: предыдущая команда возвращает (фактически это вилки), пока я ожидаю, что она будет содержать контекст, пока у меня не будет результата (например, с
make
на linux илиdevenv
на окнах) - Мне не удалось извлечь журналы сборки (в идеале, их в файле): чтобы интегрировать в свою непрерывную информацию, мне нужно иметь возможность анализировать мои журналы построения, чтобы отображать интересную информацию (думать о разбитых файлах)
- В идеале, Я хотел бы получить от Eclipse прямой статус (код возврата), который указывает на пропуск или отказ.
Любая идея, как это сделать?
Обратите внимание, что:
- используя альтернативный (внешний) построить систему в настоящее время не вариант (я должен держать CDT удалось построить, он имеет много сложной истории)
- Я уже смотрел на переполнение стека и google и не удалось найти способ сделать это, несмотря на кажущуюся простоту моей потребности.
- Я сейчас нахожусь в Windows 7/mingw 4.5.2/Eclipse IDE для разработчиков C/C++ Версия: Indigo Release Build id: 20110615-0604, но я думаю, что вопрос - это x-платформа