Номер версии
Ваш плагин нуждается в уникальной версии для того, чтобы люди могли понять, какая версия плагина является отличительной от прошлой. Есть много схем указания версий, которые вы можете использовать для вашего собственного плагина. В следующей части мы объясним несколько концепций с плюсами и минусами.
Sponge рекомендует использовать идентификатор версии, который состоит из двух или трех частей числовой версии, разделенных .
и дополнительных меток, добавленных с дефисом -
таких как 3.1
или 1.0.3-API7
, аналогичных SemVer. Начните с 1.x
, если ваш плагин готов. Начните с 0.x
, если ваш плагин еще не готов или нестабилен.
Примечание
В то время как Sponge рекомендует использовать вышеупомянутую схему нумерации версий, авторы плагинов могут выбирать их самостоятельно. Пожалуйста, имейте в виду, что ваши пользователи должны иметь дело с множеством схем нумерации версий, так что делайте это проще.
SemVer
SemVer является обычно используемой семантической схемой нумерации версий. Она состоит из трех числовых блоков, разделенных точками и дополнительными метками, которые добавляются с помощью дефисов. Три числовых блока составляют MAJOR
, MINOR
и PATCH
части версии.
Изменения в версии MAJOR указывают на то, что вы сделали несовместимые изменения API. Переписка больших частей вашего плагина или всего плагина также будет считаться несовместимыми изменениями.
Изменение в версии MINOR указывает на то, что функция была добавлена без нарушения обратной совместимости.
Изменение в версии PATCH указывает, что некоторые ошибки исправлены.
Метки могут быть использованы для обозначения сборок как пре-релизные или содержащие такие метаданные, как поддерживаемые версии Minecraft. Если вы увеличиваете одну часть версии, вы должны указать следующую часть нулем. Используя эту стратегию, вы можете найти последнюю версию сравнивая блоки версий с другими; тем не менее, эта схема не содержит никакой информации про порядок опубликованных версий для версий, который отличаются в двух версиях блоков цифр. Пример: Версия 1.0.9
должна быть выпущена после 1.0.8
, а версия 1.1.0
должна быть выпущена позднее всех.
Примечание
SpongeAPI использует эту схематику нумерации.
Примеры
0.1.0
1.0.0
1.1.0-SNAPSHOT
3.12.21-API7
Плюсы
Простой для чтения и понимания
Минусы
Mostly API oriented so the terms don’t really apply if you don’t provide an API in your plugin.
Отметка времени
Это менее часто используемая схема указания версий, но тем не менее, она очень проста, так как она не содержит никакой дополнительной информации в цифрах версий. Это не имеет значения, какие разделители вы используете (если есть) или какие даты и части времени вы включаете. Однако мы рекомендуем указывать дату и время в порядке убывания времени, например ГГГГ-ММ-ДД
. Если вы сортируете ваши файлы в алфавитном порядке, пожалуйста, убедитесь, что порядок будет таким же, как и порядок версии. Также возможно добавить классификатор сборки или её номер.
Примеры
18.01.31
v2018-05-29.1
2018.01.13-SNAPHOT
Плюсы
Простой для чтения и понимания
Минусы
Не содержит никакой информации о совместимости.
Прочее
Вы можете почитать больше про Нумерацию версий программного обеспечения и схем `онлайн<https://ru.wikipedia.org/wiki/Нумерация_версий_программного_обеспечения>`_.