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,45 +0,0 @@
|
|||
name: halkyon_ui
|
||||
description: "Halkyon's look, shared by its apps: the theme around cobalt and copper, the bundled Noto Sans, window sizes, and the widgets every app's screens are built of."
|
||||
version: 0.1.0
|
||||
publish_to: none
|
||||
resolution: workspace
|
||||
|
||||
environment:
|
||||
sdk: ^3.13.0
|
||||
flutter: ^3.44.4
|
||||
|
||||
dependencies:
|
||||
# Material 3 Expressive's loading indicator, which Flutter doesn't ship yet
|
||||
# (AppLoadingIndicator).
|
||||
expressive_loading_indicator: ^0.0.1
|
||||
flutter:
|
||||
sdk: flutter
|
||||
# gen-l10n's output imports it; apps take Material's texts from material_ui.
|
||||
flutter_localizations:
|
||||
sdk: flutter
|
||||
intl: ^0.20.3
|
||||
lucide_icons_flutter: ^3.1.20
|
||||
material_ui: ^1.5.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
flutter:
|
||||
# Generates HalkyonUiLocalizations from lib/l10n (see l10n.yaml).
|
||||
generate: true
|
||||
|
||||
assets:
|
||||
# Noto Sans's licence, for the licence list (registerFontLicenses).
|
||||
- assets/fonts/OFL-NotoSans.txt
|
||||
|
||||
# Noto Sans for Latin, Greek (polytonic too) and Cyrillic, the same on every
|
||||
# device and never fetched; each file holds every weight (variable fonts). An
|
||||
# app reaches it as `packages/halkyon_ui/Noto Sans` (appFontFamily). The CJK
|
||||
# fonts behind it are the apps' own to bundle (appFontFallback).
|
||||
fonts:
|
||||
- family: Noto Sans
|
||||
fonts:
|
||||
- asset: assets/fonts/NotoSans-Variable.ttf
|
||||
- asset: assets/fonts/NotoSans-Italic-Variable.ttf
|
||||
style: italic
|
||||
Loading…
Reference in a new issue