Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes https://github.com/xamarin/monodroid/compare/a5742221b314864636f4356173a2535a539c7b2c...9ca6d9f64fce11f04d668ece50ada36de1d7efce.
Context: https://github.com/xamarin/xamarin-android/commit/86260ed36dfe1a90c8ed6a2bb1cd0607d637f403
Context: #8478
Context: #8895
Commit 86260ed3 altered packaging so that
all assemblies were considered to be ABI-specific, removing even
the idea of "CPU-agnostic assemblies".
This had unforeseen breakage: localization-specific
.resx
& relatedfiles were no longer fast deployed to the correct location, breaking
all of our localization unit tests.
This wasn't found in #8478 because the
localization tests which broke were only run on nightly builds, and
not run as part of the normal PR process.
Oops.
The root cause of this is that the
%(TargetPath)
metadata onSatellite assemblies is set to
%(Culture)\%(Filename)%(Extension)
by default. The code we had in place to set
%(TargetPath)
firstchecked to see if it was empty. In the case of
XX.resource.dll
files, it was NOT empty, and as a result the
XX.resource.dll
fileswould get deployed to
files/.__override__/%(Culture)
instead offiles/.__override__/%(Abi)/%(Culture)
.Because our assembly loader now only looks in the
%(Abi)
directoryfor its files, the resources were never found.
Update the
_ComputeFastDevFiles
target to check the value of%(TargetPath)
to see if it is the default value, and if not thenupdate it to use the
%(DestinationSubDirectory)
value.Update the
LocalizedAssemblies_ShouldBeFastDeployed
unit test to include application based resource.dll files, so that the failure can be caught during smoke testing.