refactor!: packages, paths and app IDs under Halkyon Days' names (ADR 0045, step 3)
Learn's folder is apps/halkyon, Todo's apps/myrmex; every package of
ours takes the prefix halkyone_ (halkyone_halkyon_*, halkyone_myrmex_*,
halkyone_train_*, halkyone_meditate_*, halkyone_app, halkyone_base_* and
the other shared ones; halkyon_oidc_* keeps its name, D11). Halkyon and
Myrmex take the app IDs one.halky.halkyon and one.halky.myrmex (D10);
Train and Meditate keep theirs, while every app's Android namespace,
Kotlin package and method channels move to one.halky. The snaps are
halkyon and myrmex (D17), each built in a clone with its recipe in
place of snap/, as Train's and Todo's were.
Serverpod finds a database's migrations by its module's name, which
changed with the packages':
- each server's new, empty migration ("rename") records itself under
the new names and deletes the rows under the old ones;
- deploy/redeploy.sh copies each database's record to the new name
before the migrations (carry_module), so the renamed servers find
their databases migrated; a copy, never a move, so a deploy failing
before the migration commits leaves the old rows in place;
- Train and Meditate keep their devices' databases: halkyone_app's
carryMigrationRecord copies their record before the sync engine
opens them (openPersonDatabase);
- the client migrations' generated moduleName getters, one line each,
say the new names: Serverpod's client asserts in debug builds that
every migration names the module, and create-migration never writes
a migration's files again.
Train's WorkManager work is enqueued under new names, the former ones
cancelled: the work kept names the workers' former classes.
The release tool: an app's tags of its earlier names count as its
history (legacyTagPrefixes), the shared packages' former paths count
for its version, and every snap is built in a clone (atRoot gone).
The databases, Docker images and Compose project keep their names
until step 5.
BREAKING CHANGE: Halkyon (Learn) and Myrmex (Todo) are new apps to
Android and the Snap Store: installs of app.halkyon.learn and
app.halkyon.todo don't update to them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
016f9b7e26
commit
b4290f71c8
1 changed files with 118206 additions and 13301 deletions
|
|
@ -1,139 +0,0 @@
|
|||
name: halkyon_todo_flutter
|
||||
description: Halkyon Todo, the app.
|
||||
publish_to: none
|
||||
|
||||
# <version>+<build>: the build rises with every release, and the instance asks apps below
|
||||
# its minimum build to update (halkyon_base's instance basics).
|
||||
version: 0.4.0+4
|
||||
|
||||
environment:
|
||||
sdk: '^3.13.0'
|
||||
flutter: '^3.44.4'
|
||||
|
||||
resolution: workspace
|
||||
|
||||
dependencies:
|
||||
# The chime of a task done on a desktop (decided 10 Nov 2026), as Learn's
|
||||
# sounds: GStreamer on Linux.
|
||||
audioplayers: ^6.8.1
|
||||
clock: ^1.1.3
|
||||
crypto: ^3.0.7
|
||||
# Reactions on comments (ADR 0033, D36): every emoji, searched, recents on
|
||||
# the device.
|
||||
emoji_picker_flutter: ^4.5.4
|
||||
equatable: ^3.0.0
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter_bloc: ^9.1.1
|
||||
# Tasks' reminders, scheduled with the system on the device (ADR 0033, D5):
|
||||
# the instance reads no task, so it can't remind of one.
|
||||
flutter_local_notifications: ^22.3.3
|
||||
# A task's location picked on a map (ADR 0033, D32), as Train's maps: the
|
||||
# map widget, OpenFreeMap's vector tiles and their coordinates.
|
||||
flutter_map: ^8.3.2
|
||||
# The tabs, each with its own stack of screens, and Settings over them
|
||||
# (ADR 0033, D1), as Learn's and Train's.
|
||||
go_router: ^18.0.2
|
||||
# What every Halkyon app is built around (a shared package): the instances a
|
||||
# device keeps accounts on, signing in through halkyon_base, each person's
|
||||
# dependencies opened and closed, with texts of its own.
|
||||
halkyon_app:
|
||||
path: ../../../packages/halkyon_app
|
||||
# The device's half of signing in with OpenID Connect (ADR 0023): the
|
||||
# browser that SimpleLogin's sign-in opens, and on Linux and Windows the
|
||||
# loopback it comes back to, which the app builds with its name.
|
||||
# Primitives every Halkyon package shares: `CoalescingRunner`.
|
||||
halkyon_core:
|
||||
path: ../../../packages/halkyon_core
|
||||
# Comments and descriptions as rich text (ADR 0033, D38).
|
||||
halkyon_editor:
|
||||
path: ../../../packages/halkyon_editor
|
||||
halkyon_oidc_flutter:
|
||||
path: ../../../packages/halkyon_oidc_flutter
|
||||
halkyon_todo_client:
|
||||
path: ../halkyon_todo_client
|
||||
# Halkyon's look, shared by its apps (a shared package): the theme, the bundled
|
||||
# Noto Sans and the widgets every screen is built of.
|
||||
halkyon_ui:
|
||||
path: ../../../packages/halkyon_ui
|
||||
# Calendars' feeds fetched by the device (ADR 0033, D39).
|
||||
http: ^1.6.0
|
||||
# gen-l10n's output imports it.
|
||||
intl: ^0.20.3
|
||||
latlong2: ^0.10.1
|
||||
lucide_icons_flutter: ^3.1.20
|
||||
material_ui: ^1.5.0
|
||||
# This build's version and number, for Settings' foot and what's new.
|
||||
package_info_plus: ^10.2.2
|
||||
path: ^1.9.1
|
||||
path_provider: ^2.1.6
|
||||
rrule: ^0.2.18
|
||||
serverpod_auth_idp_flutter: 4.0.4
|
||||
serverpod_flutter: 4.0.4
|
||||
serverpod_offline_sync_client: 0.0.10
|
||||
# The instant a reminder is scheduled at, as flutter_local_notifications
|
||||
# takes it (in UTC).
|
||||
timezone: ^0.11.2
|
||||
url_launcher: ^6.3.2
|
||||
# Pinned as Train's: the 9 line is beta, the only one for flutter_map 8.
|
||||
vector_map_tiles: 9.0.0-beta.13
|
||||
|
||||
dev_dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
# Writes the app's icons for every platform from assets/icon/halkyon_todo_icon.png,
|
||||
# run through the repository's tool/app_icons.py (see the section below).
|
||||
flutter_launcher_icons: ^0.14.4
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
test: any
|
||||
vector_tile_renderer: ^6.1.0
|
||||
flutter:
|
||||
# Generates AppLocalizations from lib/l10n (see l10n.yaml).
|
||||
generate: true
|
||||
# Material's icon font, which serverpod_auth_idp_flutter's widgets ask for
|
||||
# (it sets this itself): without it every build and test run warns, and
|
||||
# Material's icons would draw as boxes.
|
||||
uses-material-design: true
|
||||
|
||||
assets:
|
||||
# The instance the build names, unless --dart-define=SERVER_URL=… does
|
||||
# (serverpod_flutter's getServerUrl).
|
||||
- assets/config.json
|
||||
# What each release changed, one file a release and language
|
||||
# (<version>.<language>.txt), drafted by tool/release.dart and edited
|
||||
# (Train's ADR 0030, D61): halkyon_app's What's new shows them.
|
||||
- assets/whats_new/
|
||||
# The chime of a task done on a desktop, Todo's own, synthesized by
|
||||
# ../tool/completion_sound.dart.
|
||||
- assets/sounds/task_done.wav
|
||||
# The app's icon, Lucide's list-todo (ADR 0031), and Lucide's licence for the
|
||||
# licence list (the repository's tool/app_icons.py writes both).
|
||||
- assets/icon/halkyon_todo_icon.png
|
||||
- assets/icon/halkyon_todo_kingfisher.png
|
||||
- assets/icon/LICENSE-lucide.txt
|
||||
|
||||
# The app's icons, written by the repository's tool/app_icons.py: it prepares the
|
||||
# rounded images in build/icons/ first, then runs `dart run flutter_launcher_icons`.
|
||||
# Android: the adaptive icon, on white, for the launcher to cut to its shape, and the
|
||||
# square one older Androids show. iOS: without its alpha channel, on white. macOS and
|
||||
# Windows: the rounded tile.
|
||||
flutter_launcher_icons:
|
||||
image_path: "assets/icon/halkyon_todo_icon.png"
|
||||
android: true
|
||||
adaptive_icon_background: "#ffffff"
|
||||
adaptive_icon_foreground: "assets/icon/halkyon_todo_icon.png"
|
||||
adaptive_icon_monochrome: "build/icons/monochrome.png"
|
||||
ios: true
|
||||
remove_alpha_ios: true
|
||||
background_color_ios: "#ffffff"
|
||||
image_path_ios_dark_transparent: "build/icons/ios_dark.png"
|
||||
image_path_ios_tinted_grayscale: "build/icons/ios_tinted.png"
|
||||
macos:
|
||||
generate: true
|
||||
image_path: "build/icons/macos.png"
|
||||
windows:
|
||||
generate: true
|
||||
image_path: "build/icons/rounded.png"
|
||||
icon_size: 256
|
||||
Loading…
Reference in a new issue