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
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# 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** выполняется именно эта цель
|
||||
Reference in New Issue
Block a user