Я нашел Бакминстера блестящим, но ужасно задокументировано (я знаю, я должен внести свой вклад).
Я искал что-то для создания продуктов RCP. Я не буду слишком много говорить об этом, но я скажу, что сработало для меня:
- " вебинар " показал мне примерно то, что я мог сделать, и я обнаружил, что возвращаюсь к нему пару раз, чтобы начать с.
- Попробуйте проверить ваш проект в вашем рабочем пространстве. Это включает в себя:
- установка buckminster на вашу установку 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, используемую для компиляции кода. Вы можете установить небольшое количество свойств, но это было то, что мне было нужно.
Другие ссылки Я также нашел в последнее время, которые выглядят полезными.