Stapler-репозиторий
Stapler-репозиторий — это Git-репозиторий, в котором хранятся один или несколько пакетов Stapler. Каждый пакет — это каталог с Staplerfile.
Репозиторий обязательно должен храниться в системе контроля версий Git и быть доступен через публичный URL (например, GitHub).
Структура репозитория
Stapler-репозиторий можно организовать двумя основными способами:
Репозиторий с несколькими пакетами
Это самый распространённый вариант. Структура обычно выглядит так:
my-stplr-repo/
├── stapler-repo.toml
├── foo/
│ └── Staplerfile
├── bar/
│ └── Staplerfile
├── baz/
│ └── Staplerfile
└── README.md
- Каждый каталог (
foo/,bar/,baz/) — это отдельный пакет. - Имя каталога должно точно совпадать с именем пакета, указанным в
Staplerfile. - В корне репозитория лежит файл
stapler-repo.tomlс конфигурацией.
Репозиторий для одного пакета
Если вам нужен отдельный репозиторий только для одного пакета:
my-single-package-repo/
├── stapler-repo.toml
├── Staplerfile
└── README.md
В этом случае Staplerfile лежит прямо в корне репозитория.
Содержимое stapler-repo.toml
[repo]
minVersion = "v0.0.23"
title = "Repo for tests"
summary = "Stapler repo for tests"
description = """
Long long description
Stapler repo for tests
Long long description"""
homepage = "https://stplr.dev"
icon = "https://stplr.dev/img/logo.svg"
url = "https://altlinux.space/stapler/repo-for-tests.git"
ref = "main"
mirrors = [
"https://github.com/example/example.git"
]
report_url = "https://altlinux.space/stapler/repo-for-tests.git?package={{ .BasePackageName }}"
Описание полей
minVersion— минимальная версия Stapler, необходимая для работы с этим репозиторием.title— краткое название репозитория.summary— краткое описание репозитория в одну строку.description— подробное описание репозитория (поддерживает многострочный текст).homepage— URL домашней страницы проекта.icon— URL иконки репозитория.url— основная ссылка на Git-репозиторий.ref— ветка Git-репозитория (например,main,master).mirrors— список альтернативных зеркал репозитория на случай недоступности основной ссылки.report_url— URL для отправки сообщений об ошибках. Этот адрес будет показываться пользователю при возникновении проблем с установкой пакета. Поддерживает шаблон{{ .BasePackageName }}для подстановки имени пакета.
Как создать stplrpler-репозиторий шаг за шагом
1. Создайте каталог и инициализируйте Git
mkdir my-stplr-repo
cd my-stplr-repo
git init
git remote add origin <URL_вашего_репозитория>
Репозиторий должен быть публичным, чтобы его можно было использовать.
2. Создайте stapler-repo.toml
Это основной конфигурационный файл. Минимальный пример:
[repo]
minVersion = "v0.0.25"
- Здесь
minVersionуказывает минимальную версию Stapler, с которой совместим этот репозиторий.
3. Добавьте пакет или пакеты
- Для многопакетного репозитория создайте отдельную папку для каждого пакета.
Название каталога = название пакета в
Staplerfile. - Для однопакетного репозитория положите
Staplerfileв корень.
4. Проверьте сборку пакета
stplr build -s ./Staplerfile
Также можно воспользоваться stplr-spec:
stplr-spec clean-buildдля сборки в минимальном окружении.
5. Добавьте README
Рекомендуется описать в README.md:
- Назначение репозитория.
- Инструкции по подключению через stplrpler.
- Правила по добавлению новых пакетов и др.
5. Сделайте первый коммит и опубликуйте
git add .
git commit -m "Initial commit"
git branch -M main
git push -u origin main
Готово!
Теперь вы можете подключить репозиторий командой:
stplr repo add my-stplr-repo https://example.com/my-stplr-repo.git
stplr in foo