Есть простой пример, как использовать Бакминстер
Я совсем не понимаю Бакминстер. Допустим, у меня есть проект, и для него нужны log4j и junit4. Как начать, что мне нужно сделать, чтобы указать зависимости и добавить их в мой путь к классам в eclipse. Есть ли учебник, который показывает, как это делается?
5 ответов
Я нашел Блэкминстера блестящим, но ужасно задокументированным (я знаю, я знаю, я должен внести свой вклад).
Я искал что-то для создания продуктов RCP. Я не буду слишком много говорить об этом, но скажу, что сработало для меня:
- " Вебинар" показал мне примерно, что я мог сделать, и я обнаружил, что возвращаюсь к нему пару раз, чтобы начать.
- Попробуйте проверить ваш проект в вашем рабочем пространстве. Это включает в себя:
- установка бакминстера на вашу установку Eclipse
- создаем небольшой файл CQUERY, который состоит из 3 строк XML и говорит Бакминстеру, что нужно проверить.
- создание файла RMAP для ваших проектов. Я нашел этот dogfood2.rmap очень полезным.
К счастью, я могу полностью игнорировать файлы CSPEC, так как они могут быть выведены из существующих метаданных (т.е. из MANIFEST.MF
, plugin.xml
, .product
файлы. Я думаю, что это может работать .project
а также .classpath
файлы, но я не _k_now). Точно так же я игнорировал бы файлы спецификации пока.
После того, как я успешно материализовал рабочее пространство, я мог попытаться воспроизвести это без головы.
Эта статья показалась мне полезной для создания установки для Buckminster, подходящей для развертывания в рамках нашей непрерывной интеграции.
На данный момент я долго думал о взаимосвязи между проектами Eclipse, которые использовались для создания продукта. Мы остановились на дереве (sic) с двумя основными ветвями - ветвью продукта и тестовой веткой:
- Cquery указывает на
build.feature
build.feature
указывает наproduct
иtest.product
,product
указывает на особенностиfoo.feature
,foo.ui.feature
,bar.feature
,bar.ui.feature
, Каждая из этих функций указывает на плагины или функции.test.product
указывает наfoo.test.feature
,foo.ui.test.feature
,bar.test.feature
,bar.ui.test.feature
, Каждая из этих функций указывает на фрагменты теста, которые могут использовать плагины продукта.
Под "указать на" я подразумеваю функцию или запрос, указывающие на это как на зависимость. (Я не мог получить Require-Bundle
заголовок в файле манифеста для работы, так что поместите все в feature.xml
).
На этом этапе мне очень помогло играть в командной строке. resolve
а также build
Команды, которые я нашел наиболее полезными. Я также нашел полезной настройку выходного свойства здесь.
Как только я смог собрать (то есть скомпилировать) все успешно, упаковывать его как продукт было следующим. С использованием perform
команда для действия (create.*.product
), указанный в предполагаемом файле CSPEC, сгенерированном из файла.product, едва ли был интуитивно понятным, но он помог получить известный хороший продукт, который можно экспортировать как продукт из IDE.
Последнее, что я сделал, это нашел setenv
(Я думаю) команда, которая помогла установить версию Java, используемую для компиляции кода. Есть небольшое количество свойств, которые вы можете установить, но это было то, что мне было нужно.
Другие ссылки, которые я также нашел в последнее время, выглядят полезными.
Новая документация Buckminster готовится прямо сейчас. Первый "черновик" содержит введение (на основе доклада Eclipse '09), полностью объясненные RMAP и CQUERY, подробности о свойствах и версиях. Эти главы имеют около 70 страниц, и находятся в почти законченном виде. Дополнительные главы и примеры для подражания. Надеюсь сделать новый проект доступным еженедельно.
Вы можете получить его здесь: http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/doc/BuckyBook.pdf (6 МБ).
Для быстрого начала сборки я рекомендую учебник Headless Eclipse RCP по компоновке с Buckminster и Hudson, хотя он не охватывает материализацию.
Как упоминает Хенрик, в книге " Скупой", известной как "Полное руководство", содержится подробная документация, от обзора концепции до спецификаций XML.
В дополнение к приведенным выше предложениям я бы также рекомендовал раздел " Разработка плагинов - непрерывная интеграция с Jenkins", посвященный подготовке плагинов в качестве относительно простого пошагового руководства.