Использовать maven2 для автоматизации сборки и непрерывной интеграции проекта eclipse rcp?

Моя компания начинает новый проект на следующей неделе. Мы планировали разработать приложение с помощью eclipse rcp. Процесс сборки должен быть полностью автоматизирован, поэтому мы готовы создать среду непрерывной интеграции (например, Continuum). Для части автоматизации сборки я намеревался использовать maven2, потому что хочу использовать его управление зависимостями.

Я использовал maven2 для небольшого java-проекта в старом стиле, но никогда не настраивал maven для его использования с eclipse rcp.

Как лучше всего это сделать? Базовые концепты? Обычные ловушки? Есть ли там какие-нибудь учебники или книги? Учебные пособия и информация, которые я нашел, казались устаревшими или неполными.

PS: Основной проект будет разделен на подпроекты (плагины). Но я думаю, что это типично для проектов eclipse rcp.


person Community    schedule 14.10.2008    source источник
comment
Я не думаю, что это проект RCP вообще изменит ваш проект maven / континуум, не так ли?   -  person matt b    schedule 20.10.2008
comment
да. Eclipse RCP основан на OSGi для разрешения зависимостей, а maven - это совершенно другая система для разрешения зависимостей. К сожалению, они (пока) несовместимы. Maven 3 может решить проблему, но не будет выпущен в ближайшее время.   -  person paulgreg    schedule 30.09.2009


Ответы (4)


Вам стоит взглянуть на Тихо:

список рассылки the-future-of-maven-osgi-join-the-tycho-users

инструменты сборки нового поколения для плагинов eclipse и приложений rcp

person Brian Fox    schedule 10.04.2009
comment
Вот еще одна интересная ссылка, связанная с Tycho docs.codehaus.org/display/M2ECLIPSE/Tycho + проект + обзор и вот французский обзор о Тихо keulkeul.blogspot.com/2009/05/premier-essai-avec-tycho.html - person paulgreg; 13.05.2009

Как и большинство вопросов Maven, это решается ссылкой на плагин:

"pde-maven-plugin"

Другой совет:

  1. использовать плагин сборки для создания сайта обновления
  2. рассмотрите возможность использования Hudson, а не Continuum
person sal    schedule 23.10.2008

Некоторое время я боролся с интеграцией maven2 / Eclipse RCP. Ключ не столько в правильной настройке: вы можете заставить ее работать - в конечном итоге - путем обратного проектирования процесса сборки Eclipse в maven.

По моему опыту, самое сложное - поддерживать все в актуальном состоянии. Каждый раз, когда Eclipse обновляет свои библиотеки, вы обнаружите, что переписываете кучу файлов pom для этого новейшего виджета RCP или SWT-библиотеки. Естественно, что в этом отчасти помогает CI. Проблема в том, что Eclipse и maven очень разборчивы в том, как они строят бизнес, и их подходы совершенно разные. Что еще хуже, разработчик PDE (и разработчик Eclipse в более общем плане) основан на большом количестве кода мастера, который иногда довольно непрозрачен относительно того, что происходит за кулисами.

Вопрос, который вам действительно нужно задать себе, - стоит ли это усилий. В моем конкретном случае, я считаю, что это было так. (CI слишком хорош, чтобы жить без него.) Но компромисс в том, что вы можете оказаться в роли «строителя», что может отвлечь драгоценное время от фактической разработки, что, вероятно, вам больше всего нравится.

person jasonnerothin    schedule 03.04.2009
comment
Еще один быстрый комментарий: дайте Хадсону вращение вместо континуума. Это действительно изящно, и работать с ним очень просто. - person jasonnerothin; 03.04.2009

У меня недавно возникла такая же проблема: создать приложение Eclipse RCP через непрерывную интеграцию.

Я еще не применял их, но нашел несколько интересных статей:

  1. Здесь документация для Tycho
  2. Создание подключаемых модулей Eclipse с Maven 2 на eclipse.org
  3. Создавайте продукты Eclipse RCP с помощью Maven 2 - насколько сложно может быть? из блога Immo Hüneke
  4. Вот статья об автоматизации сборки PDE
  5. Вот сценарий оболочки для автоматизации запуска теста JUnit.
person paulgreg    schedule 22.03.2009
comment
Я пробовал пару часов Tycho в моем проекте (состоящем из ~ 30 плагинов и ~ 10 функций) без особого успеха. Придется потратить больше времени или / и подождать, пока Тихо не станет более стабильным. - person paulgreg; 30.09.2009