1.8 KiB
1.8 KiB
TT-015 — APK-Retention-Script
Type: Task
Priority: High
Labels: tooling, shell
Depends on: —
Blocks: TT-016 (build_android Make-Target)
Summary
Shell-Script scripts/apk_retention.sh das nach jedem APK-Build die Build-Historie
bereinigt. Wird vom Makefile als letzter Schritt von build_android aufgerufen.
Retention-Strategie
Regel 1 — Aktuelle Minor-Version
In der Minor-Version die gerade entwickelt wird (höchste Minor):
- Behalte die letzten 15 APKs nach Build-Nummer
- Lösche ältere
Regel 2 — Abgeschlossene Minor-Versionen
Für ältere Minor-Versionen (z.B. 0.1.x wenn aktuell 0.2.x entwickelt wird):
- Behalte immer genau eine APK pro Minor-Version (die mit der höchsten Build-Nummer)
- Das ist der "Release-Marker" für diese Version
Beispiel
Aktuell: 0.1.x (Build +1 bis +20 vorhanden)
→ Behalte +6 bis +20 (15 neueste)
→ Lösche +1 bis +5
Später: 0.2.x existiert, 0.1.x hat +1 bis +20
→ 0.1.x: Behalte nur +20 (höchste = Release-Marker)
→ 0.2.x: Behalte letzte 15
APK-Dateiformat
timetrack-{VERSION}+{BUILD}.apk
Beispiele:
timetrack-0.1.0+1.apktimetrack-0.1.0+15.apktimetrack-0.2.0+3.apk
Acceptance Criteria
- Script nimmt
--dirals Argument (default:build/apk) - Erkennt Minor-Versionen korrekt (0.1, 0.2, etc.)
- Behält letzte 15 in aktueller Minor-Version
- Behält je eine (neueste) APK für ältere Minor-Versionen
- Löscht zugehörige
.sha256-Dateien mitgleich - Gibt Liste der gelöschten Dateien aus
- Gibt Liste der behaltenen Dateien aus
- Tut nichts wenn weniger als 16 APKs vorhanden (keine Löschung nötig)
- Löscht niemals den
timetrack.apk-Symlink
Files to create
scripts/apk_retention.sh(ausführbar,chmod +x)