Conversation
7f0f9b7 to
718bea2
Compare
grendello
added a commit
that referenced
this pull request
Apr 26, 2024
jonathanpeppers
pushed a commit
that referenced
this pull request
Apr 29, 2024
Context: 86260ed Context: #8478 Context: #8895 Changes xamarin/monodroid@a574222...9ca6d9f. * xamarin/monodroid@9ca6d9f64: [tools/msbuild] fix fastdev of Localization assemblies (xamarin/monodroid#1464) * xamarin/monodroid@418b1ece6: Remove "Xamarin" from messages (xamarin/monodroid#1468) (xamarin/monodroid#1469) * xamarin/monodroid@07803812f: Revert "Remove "Xamarin" from messages (#146xamarin/monodroid8)" * xamarin/monodroid@cf71c7e6e: Remove "Xamarin" from messages (xamarin/monodroid#1468) Commit 86260ed 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` & related files were no longer fast deployed to the correct location, breaking *all* of our localization unit tests. This wasn't found in PR #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 on Satellite assemblies is set to `%(Culture)\%(Filename)%(Extension)` by default. The code we had in place to set `%(TargetPath)` first checked 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` files would get deployed to `files/.__override__/%(Culture)` instead of `files/.__override__/%(Abi)/%(Culture)`. Because our assembly loader now *only* looks in the `%(Abi)` directory for its files, the resources were never found. xamarin/monodroid@9ca6d9f64 updates the `_ComputeFastDevFiles` target to check the value of `%(TargetPath)` to see if it is the default value, and if not then update it to use the `%(DestinationSubDirectory)` value. Update the `InstallTests.LocalizedAssemblies_ShouldBeFastDeployed()` unit test to include application-based resource.dll files, so that this failure can be caught during smoke testing.
grendello
added a commit
that referenced
this pull request
May 7, 2024
* main: Update README (#8913) Bumps to xamarin/Java.Interop/main@4e893bf (#8924) Bump to dotnet/installer@fa261b952d 9.0.100-preview.5.24253.16 (#8921) [Mono.Android] Dispose of the `RunnableImplementor` on error (#8907) Bump NDK to r26d (#8868) Bump to dotnet/installer@d301a122c4 9.0.100-preview.5.24229.2 (#8912) Localized file check-in by OneLocBuild Task (#8910) LEGO: Merge pull request 8909 [api-merge] Add `removed-since` info (#8897) Bump to xamarin/monodroid@9ca6d9f6 (#8895) [Xamarin.Android.Build.Tasks] fix detection of "Android libraries" (#8904)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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: http://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.dllfiles, it was NOT empty, and as a result the
XX.resource.dllfileswould 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
_ComputeFastDevFilestarget 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_ShouldBeFastDeployedunit test to include application based resource.dll files, so that the failure can be caught during smoke testing.