feature(updater): Implement auto-updating system using AppCast protocol
This commit is contained in:
@@ -41,10 +41,19 @@ Set the launcher Web API base URL at compile time:
|
||||
--dart-define=MOONWELL_API_BASE_URL=https://host
|
||||
```
|
||||
|
||||
Set the public AppCast feed URL to enable Windows launcher self-updates:
|
||||
|
||||
```powershell
|
||||
--dart-define=MOONWELL_APPCAST_URL=https://host/launcher/updates/appcast.xml
|
||||
```
|
||||
|
||||
The updater is disabled when `MOONWELL_APPCAST_URL` is omitted. Production
|
||||
feeds must use HTTPS.
|
||||
|
||||
Example run command:
|
||||
|
||||
```powershell
|
||||
flutter run -d windows --dart-define=MOONWELL_API_BASE_URL=https://host
|
||||
flutter run -d windows --dart-define=MOONWELL_API_BASE_URL=https://host --dart-define=MOONWELL_APPCAST_URL=https://host/launcher/updates/appcast.xml
|
||||
```
|
||||
|
||||
## Development
|
||||
@@ -67,10 +76,12 @@ pre-commit workflow.
|
||||
Build the Windows launcher:
|
||||
|
||||
```powershell
|
||||
flutter build windows --dart-define=MOONWELL_API_BASE_URL=https://host
|
||||
flutter build windows --dart-define=MOONWELL_API_BASE_URL=https://host --dart-define=MOONWELL_APPCAST_URL=https://host/launcher/updates/appcast.xml
|
||||
```
|
||||
|
||||
The Inno Setup installer script lives at `installer/moonwell_launcher.iss`.
|
||||
See `docs/launcher_self_update.md` for the AppCast format, signing keys, and
|
||||
manual release procedure.
|
||||
|
||||
## Architecture
|
||||
|
||||
@@ -99,3 +110,4 @@ See `docs/launcher_web_api_spec.md` for the API and sync contract.
|
||||
- `docs/project_review.md`: project review with strengths, weaknesses, and
|
||||
upgrade feasibility notes
|
||||
- `docs/launcher_web_api_spec.md`: current launcher Web API and sync behavior
|
||||
- `docs/launcher_self_update.md`: Windows self-update and release operations
|
||||
|
||||
Reference in New Issue
Block a user