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 process assemblies over and over again in the UnpackLibraryResources target. Fixes #16377. #16416
Conversation
This is still a work in progress, |
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.
a47e186
to
ac17c1b
Compare
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.
It fails like this:
|
Yup I accidently used |
48f9f3c
to
086e84a
Compare
|
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.
8726a13
to
41d0f6c
Compare
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.
41d0f6c
to
a59b692
Compare
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.
📚 [PR Build] Artifacts 📚Artifacts were not provided. Pipeline on Agent XAMBOT-1161.Monterey' |
💻 [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 |
✅ API diff for current PR / commitLegacy Xamarin (No breaking changes)
NET (empty diffs)
❗ API diff vs stable (Breaking changes)Legacy Xamarin (:heavy_exclamation_mark: Breaking changes :heavy_exclamation_mark:).NET (:heavy_exclamation_mark: Breaking changes :heavy_exclamation_mark:)✅ Generator diffGenerator diff is empty Pipeline on Agent |
🚀 [CI Build] Test results 🚀Test results✅ All tests passed on VSTS: simulator tests. 🎉 All 223 tests passed 🎉 Tests counts✅ bcl: All 69 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
/sudo backport release/7.0.2xx |
Backport Job to branch release/7.0.2xx Created! The magic is happening here |
Hooray! Backport succeeded! Please see https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=7195173 for more details. |
…ain in the UnpackLibraryResources target. Fixes #16377. (#17234) Fixes #16377 MSbuild has the ability to run `Target` partially. However in order to make sure we can use this, both the `Inputs` and `Outputs` need to have a 1-1 mapping. MSBuild will then use this mapping to figure out which files have actually changed. Then it will call the Target with only those files. In Xamarin.Android we make use of stamp files to provide this 1-1 mapping. We have a `pre` Target which will calculate an ItemGroup which will include a StampFile piece of metadata. We then use this new ItemGroup for both the `Inputs` and `Outputs`, thus meeting the 1-1 requirement. This PR updates the `_UnpackLibraryResources` to run partially. This will hopefully reduce the build time on incremental builds. Backport of #16416 Co-authored-by: Dean Ellis <dellis1972@googlemail.com> Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Fixes #16377
MSbuild has the ability to run
Target
partially. However in order to make sure we can use this, both theInputs
andOutputs
need to have a 1-1 mapping. MSBuild will then use this mapping to figure out which files have actually changed.Then it will call the Target with only those files.
In Xamarin.Android we make use of stamp files to provide this 1-1 mapping. We have a
pre
Target which will calculate an ItemGroup which will include a StampFile piece of metadata. We then use this new ItemGroup for both theInputs
andOutputs
, thus meeting the 1-1 requirement.This PR updates the
_UnpackLibraryResources
to run partially. This will hopefully reduce the build time on incremental builds.