Структура архивов c обновлениями
Pepeunit умеет генеририровать готовые архивы с обновлениями для Unit, при этом алгоритм генерации разный для Компилируемых и Интерпритируемых Repo ,
Компилируемые
- Вычисляется таргет версия
- Добавляются env.json и schema.json на основе таргет версии
- В файл env.json записывается таргет версия - ключ =
COMMIT_VERSION
- Создаётся файл Архива -
tgz
,tar
илиzip
Интерпритируемые
- Вычисляется таргет версия
- Создаётся временное представление файлов находящихся в этом коммите
- Удаляются файлы не участвующие в работе Unit на основе .pepeignore
- Добавляются env.json и schema.json на основе таргет версии
- В файл env.json записывается таргет версия - ключ =
COMMIT_VERSION
- Создаётся файл Архива -
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