/
pa1ch
/
FitAssistant
Обзор
Документация
Войти
/
pa1ch
/
FitAssistant
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Makefile
76 строк
2 KB
Pavel Chugaev
feat(frontend): единая иконка приложения (страница входа, браузер, Android)
13 июл 2026, 23:43
13 июл 2026, 23:43
82ef258
Код
Авторство
О чём код?
SHELL := /bin/bash .ONESHELL: .SHELLFLAGS := -eu -o pipefail -c FRONTEND := frontend ANDROID_HOME_DIR := $(HOME)/Android/Sdk JAVA_HOME_21 := /usr/lib/jvm/java-21-openjdk-amd64 # Native builds have no backend of their own — point them at the prod API. NATIVE_API_URL := https://fit-assistant.ru # Load nvm and switch to the Node version pinned in frontend/.nvmrc. define use_node export NVM_DIR="$$HOME/.nvm" [ -s "$$NVM_DIR/nvm.sh" ] && . "$$NVM_DIR/nvm.sh" nvm use "$$(cat $(FRONTEND)/.nvmrc)" > /dev/null endef .PHONY: web android android-release android-install ios clean-android ## Build the web bundle only (dist/), used by both native platforms. web: $(use_node) cd $(FRONTEND) npm run build ## Build an installable debug APK, copied to builds/FitAssistant-debug.apk for convenience. android: $(use_node) cd $(FRONTEND) export VITE_API_URL=$(NATIVE_API_URL) npm run build npx cap sync android export JAVA_HOME=$(JAVA_HOME_21) export ANDROID_HOME=$(ANDROID_HOME_DIR) cd android ./gradlew assembleDebug cd ../.. mkdir -p builds cp $(FRONTEND)/android/app/build/outputs/apk/debug/app-debug.apk builds/FitAssistant-debug.apk echo "APK: builds/FitAssistant-debug.apk" ## Build an unsigned release APK, copied to builds/FitAssistant-release-unsigned.apk ## (needs a signing config in android/app/build.gradle before it can be published). android-release: $(use_node) cd $(FRONTEND) export VITE_API_URL=$(NATIVE_API_URL) npm run build npx cap sync android export JAVA_HOME=$(JAVA_HOME_21) export ANDROID_HOME=$(ANDROID_HOME_DIR) cd android ./gradlew assembleRelease cd ../.. mkdir -p builds cp $(FRONTEND)/android/app/build/outputs/apk/release/app-release-unsigned.apk builds/FitAssistant-release-unsigned.apk echo "APK: builds/FitAssistant-release-unsigned.apk" ## Build the debug APK and install it on a connected device/emulator (adb). android-install: android export ANDROID_HOME=$(ANDROID_HOME_DIR) export PATH="$(ANDROID_HOME_DIR)/platform-tools:$$PATH" adb install -r $(FRONTEND)/android/app/build/outputs/apk/debug/app-debug.apk ## Prepare the iOS project (sync web assets in). Building the .ipa needs Xcode on macOS — not possible in this Linux environment. ios: $(use_node) cd $(FRONTEND) export VITE_API_URL=$(NATIVE_API_URL) npm run build npx cap sync ios echo "iOS project synced at $(FRONTEND)/ios — open it in Xcode on a Mac to build/run." clean-android: cd $(FRONTEND)/android ./gradlew clean