Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Xamarin.Android.Build.Tasks] _LinkAssembliesNoShrink timestamps (#2028)
Context: xamarin/monodroid#821 Context: 3d999d3#diff-42a9402e6466c65d49d0ee7caf21f327R164 Since commit 3d999d3, a test is failing downstream in monodroid that is testing the following scenario: 1. With `Fast Deployment` enabled, run `/t:Install` 2. Make a small code change 3. Run `/t:Install` again 4. Assemblies are getting uploaded to the device that should already be up to date! 3d999d3 was addressing a symptom of the problem, but not the root cause. The `OutputStep` of the linker has various uses of [`File.Copy()`][0], which preserves the timestamp of the source file: > The attributes of the original file are retained in the copied file. File timestamps are considered "attributes of the original file". The solution, then, is to run the `<Touch/>` MSBuild task on the linker's output. This will create appropriate timestamps, and a portion of the changes in 3d999d3 are no longer needed. I updated the `CheckTimestamps()` test to validate `Debug` and `Release` configurations, so the `_LinkAssembliesShrink` target is also tested in this manner. It turns out `_LinkAssembliesShrink` is currently working fine, since it uses `$(_AndroidLinkFlag)` as its `Outputs` Target attribute. [0]: https://docs.microsoft.com/en-us/dotnet/api/system.io.file.copy?view=netframework-4.7.2#System_IO_File_Copy_System_String_System_String_
- Loading branch information