Builds: any mix of targets and flags, Windows icon, router upload per file

icon.ico is required by tauri-build for the Windows resource; made from the
existing icon.png. Docs describe build.sh (gitignored): targets combine freely
under one build number, -da makes only the APK debug (the phone runs
debug-signed builds), and BUILD_NUMBER on the router is written only with the
APK, since the phone's OTA reads it and would otherwise offer the old APK.
This commit is contained in:
4aiman 2026-10-19 23:05:54 +03:00
commit f2d39459e6
3 changed files with 19 additions and 10 deletions

View file

@ -81,7 +81,7 @@
| Файл | Назначение |
|------|------------|
| `build.sh` | Сборка: android/debug/release, ПК linux/windows/macos (кросс), sync frontend, версионирование (один бамп за запуск), -u upload APK на роутер+VPS, `upload` всех ОС на роутер (`upload_router`), `clean`/авто-чистка старых бандлов (`clean_bundles`) |
| `build.sh` | Сборка: android/debug/release, ПК linux/windows/macos (кросс), sync frontend, версионирование (один бамп за запуск), любые комбинации целей и флагов, `-u` выкладка собранного на роутер (`upload_router`, `.build` на файл) + APK на VPS (`upload_vps`), `clean`/авто-чистка старых бандлов (`clean_bundles`) |
| `BUILD_NUMBER` | Автоинкремент номера сборки |
| `ion_products.json` | 1111 продуктов ION (сырые данные скрейпера) |
| `5ka_products_fresh.json` | 3103 продукта 5ka (сырые данные) |
@ -262,9 +262,11 @@ kcal = (dt/60) * (MET * 3.5 * weight_kg) / 200
./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 pc | all # все ПК | android + все ПК
./build.sh -da upload # = -u all: debug APK + release ПК, один номер, -> keenetic:/opt/share/www/baldav
```
Цели и флаги (`-d`, `-da`, `-i`, `-u`) комбинируются в любом виде, номер один на запуск. `BUILD_NUMBER`
на роутере пишется только вместе с APK (по нему OTA телефона); у каждого файла есть свой `<файл>.build`.
Без таргета `./build.sh` = dev-сервер (десктоп), НЕ сборка APK.
`clean_bundles` также вызывается автоматически в конце каждой android-сборки (после копии APK в binaries/): удаляет `gen/.../intermediary_bundle` + `outputs/bundle` (AAB, мы раздаём APK) и `outputs/apk/*.apk`. Регенерируются Gradle при следующей сборке.

View file

@ -75,15 +75,22 @@
./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 + все ПК под одним номером -> роутер
./build.sh pc # linux + windows + macos
./build.sh all # android + pc
./build.sh -da upload # = -u all, APK debug (как на телефоне), ПК release -> роутер
./build.sh -u android windows # любая комбинация целей и флагов
```
`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).
Цели и флаги комбинируются как угодно; за запуск номер сборки растёт один раз и общий для всех
целей. `-d` - debug для всего, `-da` - debug только для APK. `-u` выкладывает в
`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` с номером сборки. `BUILD_NUMBER` (по нему телефон проверяет OTA) пишется только
вместе с APK, иначе телефону предложилось бы «обновление» на старый APK; APK, как и раньше, уходит
ещё и на VPS. Упавшие цели не мешают выкладке остальных и перечисляются в итоге. Кросс-сборка под
macOS берёт osxcross из `$OSXCROSS` (по умолчанию `/mnt/02F6E7F6F6E7E7BD/osxcross`, SDK 12.3 из
fpcupdeluxe); `.app` собирается скриптом, т.к. бандлер Tauri на Linux его пропускает.
## Версия и трассируемость сборки

BIN
src-tauri/icons/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB