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

Я хотел попробовать создать свой собственный PPA. У меня есть проект Java, построенный с Maven. Это то, что я уже сделал:

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

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

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

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

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

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

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

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

8
задан 16 September 2013 в 11:51

1 ответ

Посмотрите в моем проекте bookjar: http://code.google.com/p/bookjar/source/browse/

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

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

Я также использую в своем package.sh моего проекта в Mercurial создание файла журнала изменений из журнала hg, поэтому есть и другие проблемы, которые нужно решить, если вы хотите использовать тот же уровень автоматизации и не используете hg (на самом деле, я думаю, что мой журнал изменений нарушает правила журналов изменений Debian, так как каждое изменение должно быть «второстепенным» выпуском).

0
ответ дан 16 September 2013 в 11:51

Другие вопросы по тегам:

Похожие вопросы: