Skip to content

Структура архивов c обновлениями

Pepeunit умеет генеририровать готовые архивы с обновлениями для Unit, при этом алгоритм генерации разный для Компилируемых и Интерпритируемых Repo ,

Компилируемые

  1. Вычисляется таргет версия
  2. Добавляются env.json и schema.json на основе таргет версии
  3. В файл env.json записывается таргет версия - ключ = COMMIT_VERSION
  4. Создаётся файл Архива - tgz, tar или zip

Интерпритируемые

  1. Вычисляется таргет версия
  2. Создаётся временное представление файлов находящихся в этом коммите
  3. Удаляются файлы не участвующие в работе Unit на основе .pepeignore
  4. Добавляются env.json и schema.json на основе таргет версии
  5. В файл env.json записывается таргет версия - ключ = COMMIT_VERSION
  6. Создаётся файл Архива - tgz, tar или zip

.pepeignore

Для чего нужно удаление?

Объём flash памяти у микроконтоллеров обычно до 30кБ. Следовательно большие файлы, например: LICENSE AGPL v3 - 33.71 кБ - абсолютно точно не поместятся в flash память. Т.к. В Pepeunit есть функционал автоматических обновлений, нужна система чистки файлов текущей версии перед отправкой Unit.

.pepeignore выделяет паттерны файлов и папок аналогично .gitignore. Pepeunit получает пути всех файлов подходящих под паттерн и удаляет их.

Чистка происходит в момент генерации архива обновления для Unit, Пример заполнения:

.pepeignore
.git
.gitignore
.pepeignore
env_example.json
schema_example.json
docs
model
README.md
LICENSE