You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context: https://github.com/xamarin/monodroid/pull/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_
0 commit comments