-
Notifications
You must be signed in to change notification settings - Fork 547
[dotnet] Fix dependency tracking for trimming and native linking. Fixes #21223. #22911
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
Conversation
#21223. Store the non-file inputs to the trimmer and native linker in cache files, and if these inputs change, then rerun the trimmer and native linker. This is implemented by computing a hash of all these inputs (properties), store the hash to a file, and overwrite the file if the hash changes. Then in a subsequent target, we force the trimmer or native linekr to run if the file with the hash value changed. This is a similar implementation of how the csc task (C# compiler) creates a hash of the compiler input in order to know when to re-execute the C# compiler. Also fix a bug in the Codesign task, where the task would always resign an app bundle if it contained something inside that needed to be signed separately (it wouldn't consider that the contained something could already be signed). Fixes #21223.
✅ [CI Build #4d2ff61] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #4d2ff61] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ API diff for current PR / commit.NET ( No breaking changes )✅ API diff vs stable.NET ( No breaking changes )ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
✅ [CI Build #4d2ff61] Build passed (Build macOS tests) ✅Pipeline on Agent |
💻 [CI Build #4d2ff61] Tests on macOS X64 - Mac Sonoma (14) passed 💻✅ All tests on macOS X64 - Mac Sonoma (14) passed. Pipeline on Agent |
💻 [CI Build #4d2ff61] Tests on macOS M1 - Mac Monterey (12) passed 💻✅ All tests on macOS M1 - Mac Monterey (12) passed. Pipeline on Agent |
💻 [CI Build #4d2ff61] Tests on macOS M1 - Mac Ventura (13) passed 💻✅ All tests on macOS M1 - Mac Ventura (13) passed. Pipeline on Agent |
💻 [CI Build #4d2ff61] Tests on macOS arm64 - Mac Sequoia (15) passed 💻✅ All tests on macOS arm64 - Mac Sequoia (15) passed. Pipeline on Agent |
🚀 [CI Build #4d2ff61] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 115 tests passed 🎉 Tests counts✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
Store the non-file inputs to the trimmer and native linker in cache files, and if
these inputs change, then rerun the trimmer and native linker. This is implemented
by computing a hash of all these inputs (properties), store the hash to a file, and
overwrite the file if the hash changes. Then in a subsequent target, we force the
trimmer or native linekr to run if the file with the hash value changed.
This is a similar implementation of how the csc task (C# compiler) creates a hash
of the compiler input in order to know when to re-execute the C# compiler.
Also fix a bug in the Codesign task, where the task would always resign an app bundle
if it contained something inside that needed to be signed separately (it wouldn't
consider that the contained something could already be signed).
Fixes #21223.