Как создать PPA для проекта Maven?

8

Я хотел попробовать создать свой собственный PPA. Проект, который у меня есть, представляет собой проект java, построенный с помощью maven. Это то, что я уже сделал до сих пор:

  • Создан PPA.
  • Создайте новый проект на Launchpad.
  • Добавлена ​​ветка, которая импортирует мой проект из репозитория SVN.
  • Создал рецепт для этой ветви, которая публикует сборки в моем PPA.

Вот где я застрял.

Я читал учебники и Googled много; но я не смог узнать, как построить свой проект.

Я могу начать сборку для ветки; но, как я и ожидал, он терпит неудачу. Наверное, мне нужно добавить некоторую метаинформацию, как makefile, в репозиторий. Возможно ли даже создание и комплектация проектов Maven на Launchpad? Я также попытался локально создать файл .deb, используя bzr dh-make и debuild . bzr dh-make создал много файлов в папке ./debian , но debuild не удалось. Я предполагаю, что это сработает, если я укажу правильную метаинформацию в моем проекте, так что это та же проблема, что и на Launchpad.

Я знаю, что это довольно общий вопрос, но я думаю, что нет недостатка в правильных учебниках по упаковыванию .deb файлов, даже если у вас нет «экзотического» случая, такого как я.

Подводя итог:

Какие файлы / данные мне необходимо предоставить в моем проекте, чтобы их можно было правильно собрать и упаковать?

Любая помощь будет большой: -)

    
задан André Stannek 16.06.2012 в 13:36
источник

1 ответ

2

Посмотрите в моем проекте по книге: Ссылка

, в частности, каталог debian (особенно файл debian / package.sh) и файл build.xml (ant). В этом файле есть новая целевая «загрузка», которая загружает собранный артефакт в buildbot для панели запуска.

Я использую плющ и инфраструктуру netbeans ant, поэтому он может немного отличаться для вас. Тем не менее, одно можно сказать наверняка: вы не можете использовать плющ или maven с удаленного сервера buildserver. Вам необходимо загрузить все библиотеки, которые вы используете, либо в форме кода, либо в банках. ivy: retrive загружает файлы в current_dir / lib, поэтому мой проект в netbeans настроен на поиск его библиотек (nblibraries.properties является частью инфраструктуры netbeans для этого). Подробнее читайте в файле build.xml (в основном файлы debian / rules вызывают специальную цель ant для сборки на сервере, который не пытается символизировать файлы jar, потому что они уже скопированы там).

Я также использую в своем пакете.sh моего проекта, находящегося в mercurial, чтобы создать файл изменений из hg-журнала, поэтому есть и другие проблемы, которые нужно решить, если вы хотите иметь такую ​​же степень автоматизма и не использовать hg (на самом деле, я думаю, что мой журнал изменений сгибает правила debian changelogs, делая каждое изменение «незначительным» выпуском).

    
ответ дан i30817 09.09.2012 в 13:44
источник

Ознакомьтесь с другими вопросами по меткам