2011-01-28 4 views
4

У меня возникла большая путаница в процессе обновления номеров версий в зависимых плагинах, функциях и продуктах в довольно большом рабочем пространстве eclipse.Eclipse PDE - Plug-in, Feature и Product Versioning

Я внес изменения API в код Java, находящийся в существующем подключаемом модуле, и поэтому требуется увеличение части идентификатора версии Major. Этот подключаемый модуль служит зависимостью от данной функции, в которой функция позже включена в продукт. Из документации по адресу http://wiki.eclipse.org/Version_Numbering, я понимаю (по большей части), когда надлежащее число должно быть увеличено на самом подключаемом модуле.

Однако, как это будет майор изменение номера версии на зависимом от подключаемого элемента зависимые, «вниз-лайн» элементы (например, функции, продукты)?

Например, предположим, что мы имеем типичную "Hello World" настройки следующим образом:

Плагин: com.example.helloworld, version 1.0.0
Характеристика: com.example.helloworld.feature, version 1.0.0
продукта: com.example.helloworld.product, version 1.0.0

Если бы я сделать API изменение в плагине, для этого потребуется обновление версии версии 2.0.0. Какая же версия версии 1.1.0? Тот же вопрос может быть применен и для уровня продукта (например, если функция 1.1.0 OR 2.0.0, то какой номер версии продукта)?

Я уверен, что это довольно новый вопрос, поэтому я приношу свои извинения за то, что тратил время и силы. Я искал этот тип контента, но все, что я нахожу, - это примеры, показывающие, как в первый раз разрабатывать сайт плагина, функции, продукта и обновления. Единственный другой контент, связанный с моим поиском, заключался в разработке патчей функций и не затрагивал аспект версии, насколько я бы предпочел. У меня с трудом возникает (в первый раз) среда Eclipse RCP/PDE, и вам необходимо изучить надлежащий способ и/или передовую практику для создания таких обновлений версий и как наилучшим образом отразить это во всех других зависимых проектах в рабочей области.

ответ

1

Если вы хотите применить одни и те же системы управления версиями к функциям и продукту, то вы установите для функции и продукта значение 2.0.0, если один из плагинов перейдет к 2.0.0. Это будет сообщать тем, кто потребляет вашу функцию или продукт, что в нем где-то есть нарушение API-интерфейса.

С другой стороны, нет требования применять одно и то же соглашение о версии. Вы можете обновить свои пакеты в соответствии с этим соглашением, чтобы правильно сообщать об изменениях API, а затем оборачиваться и использовать больше маркетинговых идей для продукта/функции. Имейте в виду, что пользователь увидит версию продукта/функции больше, чем отдельную версию пакета.

Я видел, как это сделано в обоих направлениях эффективно. На самом деле нет правильного или неправильного пути.

+0

Спасибо, Константин, это отвечает на мой вопрос. Где я нахожусь, я вижу комбинацию схем управления версиями, которые либо точно соответствуют рекомендациям OR, либо предполагают фиксированную версию в исходном контроле для более поздней официальной версии и сохранили код изменения в этой версии. Я оставляю второе предположение о том, к какому маршруту следует следовать. – Michael

+0

Это одна из тем, о которой я не видел. Несмотря на то, что Eclipse/OSGi рекомендуется использовать соглашение об управлении версиями, имеет большое значение с точки зрения техники, соглашение чрезвычайно трудоемко и подвержено ошибкам применять на базе кода любого размера. Вы в основном должны знать, как версия уже увеличилась в версии, и нужно ли ее изменять, при каждом изменении кода.Мне еще предстоит встретиться с инженером, который может это сделать снова и снова. –

+0

Продолжение ... Честно говоря, я думаю, что нам лучше думать о чем-то, поэтому в проектах, которые у меня есть возможность установить соглашение, я принял более простую вариацию. В начале выпуска вы решаете, какие изменения будут допущены. Из этого вы получаете номер версии, используя соглашение Eclipse/OSGi, как будто это произошло. Затем вы печатаете этот номер версии по всем связям, функциям и т. Д. В начале выпуска и больше не задумываетесь об этом. –

 Смежные вопросы

  • Нет связанных вопросов^_^