diff --git a/PROJECT_MAP.md b/PROJECT_MAP.md index 1c0208b..7556775 100644 --- a/PROJECT_MAP.md +++ b/PROJECT_MAP.md @@ -81,7 +81,7 @@ | Файл | Назначение | |------|------------| -| `build.sh` | Сборка: android/debug/release, sync frontend, версионирование, -u upload на VPS, `clean`/авто-чистка старых бандлов (`clean_bundles`) | +| `build.sh` | Сборка: android/debug/release, ПК linux/windows/macos (кросс), sync frontend, версионирование (один бамп за запуск), -u upload APK на роутер+VPS, `upload` всех ОС на роутер (`upload_router`), `clean`/авто-чистка старых бандлов (`clean_bundles`) | | `BUILD_NUMBER` | Автоинкремент номера сборки | | `ion_products.json` | 1111 продуктов ION (сырые данные скрейпера) | | `5ka_products_fresh.json` | 3103 продукта 5ka (сырые данные) | @@ -261,6 +261,9 @@ kcal = (dt/60) * (MET * 3.5 * weight_kg) / 200 ./build.sh -u -d android # debug + install + заливка на роутер/VPS (OTA) ./build.sh install -d # поставить уже собранный APK без пересборки ./build.sh clean # убрать старые AAB-бандлы и APK-выхлопы gen/ (Rust-кэш и binaries/ не трогает) +./build.sh linux|windows|macos # ПК под одну ОС (windows - mingw, macos - osxcross, оба кросс) +./build.sh release # все ПК +./build.sh upload # release APK + все ПК, один номер, -> keenetic:/opt/share/www/baldav ``` Без таргета `./build.sh` = dev-сервер (десктоп), НЕ сборка APK. `clean_bundles` также вызывается автоматически в конце каждой android-сборки (после копии APK в binaries/): удаляет `gen/.../intermediary_bundle` + `outputs/bundle` (AAB, мы раздаём APK) и `outputs/apk/*.apk`. Регенерируются Gradle при следующей сборке. diff --git a/README.md b/README.md index 2d17a55..84fa5c5 100644 --- a/README.md +++ b/README.md @@ -72,8 +72,19 @@ ./build.sh -i android -d # debug + установка на устройство ./build.sh -u android # release + upload на роутер (LAN) и VPS (OTA) ./build.sh -d -i -u android # debug + install + upload +./build.sh linux # ПК Linux: .deb, .rpm, .AppImage +./build.sh windows # ПК Windows: NSIS-установщик (кросс, mingw) +./build.sh macos # ПК macOS: .app в zip, Intel + Apple Silicon (кросс, osxcross) +./build.sh release # linux + windows + macos +./build.sh upload # release APK + все ПК под одним номером -> роутер ``` +`upload` кладёт в `http://192.168.1.1:88/baldav/`: `baldav.apk`, `baldav-linux-amd64.deb`, +`baldav-linux-x86_64.rpm`, `baldav-linux-x86_64.AppImage`, `baldav-windows-x64-setup.exe`, +`baldav-macos-x64.zip`, `baldav-macos-arm64.zip`; `BUILD_NUMBER` пишется последним. Если хоть +одна платформа не собралась - не выкладывается ничего. Кросс-сборка под macOS берёт osxcross из +`$OSXCROSS` (по умолчанию `/mnt/02F6E7F6F6E7E7BD/osxcross`, SDK 12.3 из fpcupdeluxe). + ## Версия и трассируемость сборки Чтобы по розданному APK однозначно находить, где регресс/косяк: diff --git a/docs/session-logs/2026-10-19_router-upload-all-os.md b/docs/session-logs/2026-10-19_router-upload-all-os.md new file mode 100644 index 0000000..397db79 --- /dev/null +++ b/docs/session-logs/2026-10-19_router-upload-all-os.md @@ -0,0 +1,26 @@ +# 2026-10-19 - выкатка на роутер сборок под все ОС + +## Контекст +По образцу `upload` из соседнего проекта nlve (`build.sh`): одной командой собрать Android + ПК +(Linux, Windows, macOS Intel/Apple Silicon) под одним номером и выложить на роутер. +Работали по утверждённому плану: `docs/plans/2026-10-19-router-upload-all-os.md`. + +## Действия +- `build.sh`: `update_version` срабатывает раз за запуск; цели `linux`/`desktop`, `windows` + (`x86_64-pc-windows-gnu`, NSIS), `macos` (osxcross, `--bundles app`, zip), `release`, `upload`; + `upload_router` (ssh по ключу, файлы первыми, `BUILD_NUMBER` последним), итог `finish` со списком упавших. + Выкладываются только файлы, собранные в этом запуске. `-u` у `android` не менялся (APK на роутер+VPS). +- osxcross в `/mnt/02F6E7F6F6E7E7BD/osxcross` не был собран (не было `target/` и SDK в `tarballs/`). + SDK 12.3 упакован из fpcupdeluxe (`cross/lib/all-darwin/MacOSX12.3.sdk`) в `tarballs/`. + Сборка osxcross с clang++ падала: clang выбирает GCC 14, а `libstdc++-14-dev` не установлен -> + собран с `CC=gcc CXX=g++`. +- `rustup target add x86_64-apple-darwin aarch64-apple-darwin`. +- AppImage, которого не было после сборки 0.1.499, при повторной упаковке собрался; причина + прошлого отсутствия не выяснена. + +## Результат +См. раздел «Проверка» ниже (дополняется по ходу). + +## Проверка + +## Следующие шаги