Files
ds-galo/openspec/changes/add-make-install-android/specs/dev-make-workflow/spec.md
T
iu d9f6a163e5 feat(make): add install-android-app target and default help listing
- add `help` target and make it the default goal (bare `make` lists targets)
- add `install-android-app`: build debug APK and install on the selected device
- device selection via SERIAL/$ANDROID_SERIAL; several devices list and stop
- document the target in android/README.md
2026-10-13 12:06:34 +03:00

3.5 KiB

Spec Delta

Purpose

Make-интерфейс разработчика: установка Android-клиента на выбранное устройство и обзор доступных целей сборки.

ADDED Requirements

Requirement: Установка Android-приложения через Make-цель

Проект SHALL предоставлять Make-цель install-android-app, которая собирает debug-APK Android-клиента и устанавливает его на выбранное устройство. Повторный запуск SHALL переустанавливать приложение без ручного удаления.

Scenario: Установка на устройство

  • WHEN цель запущена и устройство выбрано
  • THEN собирается debug-APK и устанавливается на это устройство

Scenario: Повторная установка

  • WHEN приложение уже установлено и цель запущена снова
  • THEN установка завершается успешно без ручного удаления приложения

Requirement: Выбор устройства для установки

Цель установки SHALL брать устройство из явно заданного серийного номера, а при его отсутствии — из единственного подключённого устройства. Если подключено несколько устройств и серийный номер не задан, цель SHALL напечатать список устройств и SHALL не выполнять установку.

Scenario: Серийный номер задан

  • WHEN задан серийный номер устройства
  • THEN приложение устанавливается именно на это устройство

Scenario: Единственное устройство

  • WHEN серийный номер не задан и подключено ровно одно устройство
  • THEN приложение устанавливается на него

Scenario: Несколько устройств без выбора

  • WHEN серийный номер не задан и подключено несколько устройств
  • THEN цель печатает список устройств, не выполняет установку и завершается ненулевым кодом

Scenario: Нет устройств

  • WHEN не подключено ни одного устройства
  • THEN цель сообщает об ошибке и завершается ненулевым кодом

Requirement: Обзор доступных Make-целей

Голый make (без цели) SHALL печатать список доступных целей и SHALL не запускать сборку. Любая цель, включая сборку фронтенда, SHALL оставаться доступной по явному имени.

Scenario: Голый make

  • WHEN make запущен без цели
  • THEN печатается список доступных целей, сборка не запускается

Scenario: Явная цель

  • WHEN make запущен с именем цели, например make frontend
  • THEN выполняется именно эта цель