
Memo'yu kaynaktan derleme ve dağıtılabilir paketler oluşturma.
CGO_ENABLED=1 go build -o memo .
Çıktı, memo (Windows'ta memo.exe) adında tek bir binary'dir. Bu binary yalnızca Go backend sunucusunu içerir — Flutter ön yüzü ayrı bir derleme adımıdır.
cd frontend
flutter build linux --release # Linux masaüstü
flutter build windows --release # Windows masaüstü
flutter build macos --release # macOS masaüstü
flutter build apk --release # Android eşlikçi uygulaması
flutter build ios --release # iOS eşlikçi uygulaması
Masaüstü uygulaması, hem Go backend'i hem de Flutter ön yüzünü içeren tek bir paket olarak dağıtılır. Sürüm derleme betiği bunları birleştirmeyi yönetir.
package_linux.shLinux sürümü package_linux.sh ile paketlenir:
./package_linux.sh
Aşağıdakileri içeren bir .tar.gz arşivi üretir:
memo (backend binary)memo_frontend/ (Flutter Linux derleme çıktısı)vec0.so (sqlite-vec eklentisi)config/config.yaml (varsayılan yapılandırma)Tüm bağımlılıkları bir araya getiren tek tıklamalı bir Linux dağıtımı sağlamak için AppImage formatı planlanmaktadır.
Windows sürümleri GitHub Actions CI ile derlenir ve .zip arşivi üretir:
memo.exe (backend binary)memo_frontend/ (Flutter Windows derleme çıktısı)vec0.dll (sqlite-vec eklentisi)NSIS tabanlı .exe yükleyici, birincil Windows dağıtım formatıdır:
Memo-Setup-v3.1.0.exe
| Format | Platform | Durum |
|---|---|---|
.exe yükleyici |
Windows | Yayında |
.tar.gz taşınabilir |
Linux | Yayında |
.AppImage |
Linux | Planlanan |
.deb |
Linux | Planlanan |
.dmg |
macOS | Yayında |
.apk |
Android | Yayında (eşlikçi uygulama) |
.ipa |
iOS | Planlanan (eşlikçi uygulama) |
./build_releases.sh
Bu betik, tam platform derlemelerini düzenler ve tüm dağıtım arşivlerini üretir. Betik şunları yönetir:
Bir sürüm derlemeden önce main.go ve ön yüzün pubspec.yaml dosyasındaki sürüm dizesini güncelleyin.