ffc7ed414fc07cb4a1a54c67f38155e0281f8f71
All checks were successful
CI / ci (push) Successful in 8m52s
Inspection of the local Hetzner-synced F-Droid repo after v0.1.0 revealed that fdroidserver only partially picked up Calendula's metadata: summary was sourced from the YAML fallback (en-US only), description appeared only for the "de" locale (not de-DE), and no icon was shown anywhere. Root cause: we wrote Google Play conventions (short_description.txt, full_description.txt, bare locale code "de") where fdroidserver expects the fastlane format that the sibling HouseHoldKeaper repo already uses successfully. Changes: - de/ -> de-DE/ (BCP-47 with region matches HHK and is more reliably parsed by fdroidserver) - short_description.txt -> summary.txt - full_description.txt -> description.txt - Add icon.png (512x512) per locale, composed from the adaptive icon's foreground path + slate background (rendered via rsvg-convert). Required because XML-only adaptive icons in the APK aren't auto-rasterized by fdroidserver. Verified locally against the previously-broken index by composing the new icon and renaming the files in-tree. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Calendula
A modern Material 3 Expressive calendar app for Android.
Calendula is named after the flower of the same name, whose name comes from
the Latin kalendae — the first day of the month — the same root as the
word "calendar". Calendula reads from Android's built-in CalendarContract,
so any calendar source synced to your device (CalDAV via DAVx5, Google,
local, WebCal subscriptions, ...) is shown.
Features (V1)
- Month, Week, and Day views
- Read-only event details (write support comes in V2)
- Multi-calendar visibility toggle
- Material You Dynamic Color (Android 12+)
- Light/Dark theme follows system
- German + English UI
Building
Requires Android SDK 36 and JDK 17. The Gradle wrapper is checked in, so no host Gradle install is needed:
# Build debug APK
./gradlew assembleDebug
# Run unit tests
./gradlew test
# Run lint
./gradlew lint
If your default JDK is something other than 17, set JAVA_HOME explicitly:
JAVA_HOME=/path/to/jdk-17 ./gradlew assembleDebug
License
MIT — Jean-Luc Makiola, 2026