Files
stadtbote-app/build_release_apk.sh
T
SvenandClaude Opus 4.8 83c646c597 Adaptive Positionsmeldung nach Bewegungszustand
- TrackState-Zustände (no_fix/static/moving_slow/moving_medium/moving_fast)
  mit je eigenem Meldeintervall mit/ohne Auftrag (lib/tools/track_state.dart)
- Festes Sampling (15s) statt fixem 120s-Timer; Sofortmeldung bei
  Zustandswechsel, sonst nach Zustandsintervall (mqtt_core.dart)
- track-JSON um state (String) und speed (m/s) erweitert
- Statisch-Erkennung über GPS-Genauigkeit, aktiver Auftrag = akzeptiert
  und <=15min vor ordertime
- chat_message.dart: Direktimport von objectbox.dart ergaenzt, behebt
  build_runner-Aufloesungsfehler (ChatMessage-Entity)
- Release-Build-Script (build_release_apk.sh)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:48:31 +02:00

54 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Erstellt eine Release-APK und benennt sie nach der Versionsnummer aus der
# pubspec.yaml, z. B. version: 353.0.0+353 -> a353.apk
#
set -euo pipefail
# In das Verzeichnis des Scripts wechseln (Projekt-Root)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
PUBSPEC="pubspec.yaml"
if [[ ! -f "$PUBSPEC" ]]; then
echo "Fehler: $PUBSPEC nicht gefunden." >&2
exit 1
fi
# Version aus pubspec.yaml lesen (z. B. "353.0.0+353")
VERSION_LINE="$(grep -E '^version:' "$PUBSPEC" | head -n1)"
FULL_VERSION="$(echo "$VERSION_LINE" | sed -E 's/^version:[[:space:]]*//')"
# Major-Versionsnummer extrahieren (alles vor dem ersten Punkt)
MAJOR="${FULL_VERSION%%.*}"
if [[ -z "$MAJOR" ]]; then
echo "Fehler: Konnte Versionsnummer nicht aus '$VERSION_LINE' ermitteln." >&2
exit 1
fi
APK_NAME="a${MAJOR}.apk"
echo "Version aus pubspec.yaml: $FULL_VERSION"
echo "Ziel-APK-Name: $APK_NAME"
echo
# Release-APK bauen
flutter build apk --release
# Pfad zur erzeugten APK
BUILT_APK="build/app/outputs/flutter-apk/app-release.apk"
if [[ ! -f "$BUILT_APK" ]]; then
echo "Fehler: Erwartete APK nicht gefunden: $BUILT_APK" >&2
exit 1
fi
# Ausgabeverzeichnis
OUTPUT_DIR="build/releases"
mkdir -p "$OUTPUT_DIR"
cp "$BUILT_APK" "$OUTPUT_DIR/$APK_NAME"
echo
echo "Fertig: $OUTPUT_DIR/$APK_NAME"