Управление версиями для базовой библиотеки и библиотек расширений - PullRequest
4 голосов
/ 13 августа 2011

Проект Ninject состоит из библиотеки Ninject Core и множества (~ 17) библиотек расширений.

В настоящее время все библиотеки Ninject и его библиотеки расширений имеют одинаковый номер Major.Minor.Следующая версия ядра Ninject будет обратно совместима, поэтому правильное действие - увеличение младшего числа.По крайней мере, одна из библиотек расширений не будет обратно совместимой.В этом случае правильным действием будет увеличение основного номера.Но это выведет ядро ​​и расширения из синхронизации.

Вопрос в том, какой вариант вы считаете лучшим, который вызовет наименьшую путаницу:

  1. Правильно увеличьтестарший номер с тем преимуществом, что номер версии отражает обратную несовместимость, а также недостатком, заключающимся в том, что ядро ​​и расширения не синхронизированы, так что будет непросто определить, что больше соответствует.

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

  3. Увеличьте старшее число всего.С тем преимуществом, что цифры совпадают.Но недостаток в том, что ядро ​​и несколько расширений имеют старшее число, даже если они имеют обратную совместимость.

Или вы можете придумать другой лучший вариант?

1 Ответ

1 голос
/ 13 августа 2011

Я бы выбрал последний вариант, я не думаю, что увеличение номера основной версии означает, что обратная совместимость была явно нарушена, во многих случаях число версий продукта увеличилось без нарушения обратной совместимости. например, в версии .NET номер версии был увеличен за последние годы с 1 до 4, при этом практически все версии не разбиты.

...