Repository navigation
fix: resolve versioned SwiftPM packages without unsafe flags - #189
Conversation
Retain the ten Dart FFI entry points through a C shim linked during Apple plugin registration. Add a version-resolved Release consumer regression with dynamic symbol lookup and roundtrips. Fixes #188.
|
To preview the documentation for this pull request, visit the following URL: docs.page/vypdev/zstandard~189
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #189 +/- ##
========================================
Coverage 77.36% 77.36%
========================================
Files 14 14
Lines 1109 1109
========================================
Hits 858 858
Misses 251 251
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bugbot: review complete
|
Copilot approval · Human review neededStatus: A protected workflow, policy, or trust-boundary file changed. Technical evidenceRevision: |
This removes the unsafe linker flags that prevented SwiftPM from resolving the native package by exact version. A project-owned C shim retains the ten Dart FFI symbols during iOS and macOS plugin registration, and a standalone regression is added to macOS PR and release-candidate validation.
What changed
Validation
python3 scripts/test_swiftpm_package.pypassed after the fix, verifying all ten dynamic symbol lookups and one-shot and streaming roundtrips with Release dead stripping.bash scripts/test_all.shpassed on macOS with Flutter 3.47.2; Linux and Windows-specific tests were skipped on that host.python3 -m unittest discover -s .github/scripts/tests -p test_release_builds.py -v: 10 passed.dart scripts/check_pub_metadata.dart, andgit diff --checkpassed.Review notes
Closes #188