Skip to content

Deprecated Версии

Margarita Volodina edited this page May 30, 2022 · 1 revision

Мы придерживаемся общепринятого формата версионирования

С точки зрения использования версии разделяются на:

  1. Open Source версии, которые мы выставляем Android сообществу
  2. Проектные версии, которые используется в конкретных проектах Surf

С точки зрения стабильности версии разделяются на:

  1. Стабильные
  2. Нестабильные, которые соответствует промежуточному состоянию (SNAPSHOTS)

Со структурной точки зрения версии разделяются на:

  1. Версии уровня компонента, каждый компонент имеет свою версию
  2. Версии уровня AndroidStandard

Версии уровня компонента

  1. Open Source версии
    1. Стабильные : 0.0.0
      • Предназначены для использования в реальных чужих проектах
      • Формируются: {component.version}
    2. Нестабильные: 0.0.0-alpha.0
      • По сути аналоги SNAPSHOT версий, только последующий снимок отличается от предыдущего alpha счетчиком
      • Формируются: {component.version}-alpha.{component.unstable_version}
  2. Проектные версии
    1. Стабильные : 0.0.0-KEY.0
      • Содержимое не должно отличаться от версии 0.0.0, постфикс с ключем проекта нужен из-за невозможности на 100% гарантировать соответствие Open Source версии из-за упрощенного CI
      • Формируются: {component.version}-{config.projectPostfix}.{config.projectVersion}
    2. Нестабильные: 0.0.0-alpha.0-KEY.0
      • Альфа счетчик указывает на то, какую последнюю нестабильную Open Source версию содержит текущая версия.
      • Формируются: {component.version}-alpha.{component.unstable_version}-{config.projectPostfix}.{config.projectVersion}

Версии уровня AndroidStandard (Глобальные версии)

Глобальная версия является абстракцией над набором версий компонентов. Глобальная версия была создана для упрощения подключения набора библиотек AndroidStandard, без нее пришлось бы указывать (и обновлять) версии библиотек отдельно.

  1. Open Source версии
    1. Стабильные : временно не поддерживаются
    2. Нестабильные: 0.0.0-alpha.0
      • По сути аналоги SNAPSHOT версий для всего AndroidStandard, только последующий снимок отличается от предыдущего alpha счетчиком
      • Формируются: {config.version}-alpha.{config.unstable_version}
  2. Проектные версии
    1. Стабильные : не поддерживаются
    2. Нестабильные: 0.0.0-alpha.0-KEY.0
      • Альфа счетчик указывает на то, какую последнюю глобальную нестабильную Open Source версию содержит текущая версия.
      • Формируются: {config.version}-alpha.{config.unstable_version}-{config.projectPostfix}.{config.projectVersion}

Сокращения:

  1. config - json объект из projectConfiguration.json
  2. component - конкретный json объект компонента из components.json

Флаг, указывающий на стабильность версии находится в поле {component.stable}

Является ли версия OpenSource определяется по наличию ключа проекта {config.projectPostfix}