-
Notifications
You must be signed in to change notification settings - Fork 519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[msbuild] Don't add frameworks with static libraries to Hot Restart apps. #19300
[msbuild] Don't add frameworks with static libraries to Hot Restart apps. #19300
Conversation
…pps. The main problem is that an app with unsigned executable code will fail any signing verification, and the app won't install on device. This is implemented by doing two changes: 1. Augment the FilterStaticFrameworks task to only filter out frameworks with static libraries (and thus keeping everything that's not a static framework, even if it's not even a framework). 2. Execute the FilterStaticFrameworks task to filter out static frameworks from the entire list of files to bundle in the hot restart app bundle.
This comment has been minimized.
This comment has been minimized.
@@ -32,6 +34,11 @@ public override bool Execute () | |||
continue; | |||
} | |||
|
|||
if (OnlyFilterFrameworks && !Path.GetDirectoryName (frameworkExecutablePath).EndsWith (".framework", StringComparison.OrdinalIgnoreCase)) { | |||
Log.LogMessage (MessageImportance.Low, $"Skipped processing {item.ItemSpec} because it's not a framework"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if this should be logged as a warning instead. I know it could be annoying, but if we are choosing to ignore/skip static libraries, it means those are not supported in the current context.
And a warning could be a hint for crashes that may happen because those were not included in the app bundle?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already log a warning for static libraries we skip, this is logging all the other files this task just skips (i.e. don't filter out, so they'll end up in the app bundle).
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
💻 [CI Build] Windows Integration Tests passed 💻✅ All Windows Integration Tests passed. Pipeline on Agent |
📚 [PR Build] Artifacts 📚Packages generatedView packagesPipeline on Agent |
💻 [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) passed 💻✅ All tests on macOS M1 - Mac Big Sur (11.5) passed. Pipeline on Agent |
💻 [PR Build] Tests on macOS M1 - Mac Ventura (13.0) passed 💻✅ All tests on macOS M1 - Mac Ventura (13.0) passed. Pipeline on Agent |
✅ API diff for current PR / commitLegacy Xamarin (No breaking changes)
NET (empty diffs)
✅ API diff vs stableLegacy Xamarin (No breaking changes).NET (No breaking changes)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
🚀 [CI Build] Test results 🚀Test results✅ All tests passed on VSTS: simulator tests. 🎉 All 235 tests passed 🎉 Tests counts✅ bcl: All 69 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
/sudo backport release/8.0.1xx |
Backport Job to branch release/8.0.1xx Created! The magic is happening here |
Hooray! Backport succeeded! Please see https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=8590477 for more details. |
…s to Hot Restart apps. (#19336) The main problem is that an app with unsigned executable code will fail any signing verification, and the app won't install on device. This is implemented by doing two changes: 1. Augment the FilterStaticFrameworks task to only filter out frameworks with static libraries (and thus keeping everything that's not a static framework, even if it's not even a framework). 2. Execute the FilterStaticFrameworks task to filter out static frameworks from the entire list of files to bundle in the hot restart app bundle. Backport of #19300 --------- Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
The main problem is that an app with unsigned executable code will fail any signing
verification, and the app won't install on device.
This is implemented by doing two changes:
Augment the FilterStaticFrameworks task to only filter out frameworks with
static libraries (and thus keeping everything that's not a static framework, even
if it's not even a framework).
Execute the FilterStaticFrameworks task to filter out static frameworks from
the entire list of files to bundle in the hot restart app bundle.