Migrate the sync file layer onto the IndieSync package
Replaces the app-local copies of the extracted storage core with the IndieSync 0.1.0 package (pinned from the new tag): ICloudFileManager -> DocumentFileStore + TombstoneStore, ICloudFileMonitor -> MetadataObserver (batched events with the content-date churn gate), and the shared ULID / DocumentCoder / Tombstone / VersionedDocument pieces. SyncEngine stays app-specific and is rewired onto the package types; documents rename currentSchema -> currentSchemaVersion to adopt the package protocol. ULID.make() remains as a shim minting the string form the app keys on. Behavior-preserving: identical JSON bytes (same coder config), same stub wire format (kind encodes as the same strings), same soft-delete ordering, same 30-day prune. WorkoutDocument keeps its local-calendar month bucketing rather than adopting TimeBucketedLayout's UTC paths -- changing derivation would strand existing files. The watch target links the package too (ULID + DocumentCoder via Shared); iOS, watchOS, and widget targets all build.
This commit is contained in:
@@ -19,6 +19,9 @@ packages:
|
||||
IndieAbout:
|
||||
url: https://git.rzen.dev/rzen/indie-about.git
|
||||
from: "0.2.2"
|
||||
IndieSync:
|
||||
url: https://git.rzen.dev/rzen/indie-sync.git
|
||||
from: "0.1.0"
|
||||
Yams:
|
||||
url: https://github.com/jpsim/Yams
|
||||
from: "6.0.0"
|
||||
@@ -45,6 +48,7 @@ targets:
|
||||
type: file
|
||||
dependencies:
|
||||
- package: IndieAbout
|
||||
- package: IndieSync
|
||||
- package: Yams
|
||||
- target: Workouts Watch App
|
||||
postBuildScripts:
|
||||
@@ -81,6 +85,7 @@ targets:
|
||||
- "Resources/Info-*.plist"
|
||||
- "Resources/*.entitlements"
|
||||
dependencies:
|
||||
- package: IndieSync
|
||||
- target: Workouts Watch Widget
|
||||
embed: true
|
||||
postBuildScripts:
|
||||
|
||||
Reference in New Issue
Block a user