Skip to content

[msbuild] Inline MSBuild localization resources in the task assembly - #26698

Merged
rolfbjarne merged 1 commit into
mainfrom
dev/rolf/inline-localization-resources
Sep 29, 2026
Merged

rolfbjarne merged 1 commit into
mainfrom
dev/rolf/inline-localization-resources

Conversation

@rolfbjarne

Copy link
Copy Markdown
Member

The standalone Xamarin.Localization.MSBuild project exists only to provide resources consumed by Xamarin.MacDev.Tasks. Folding those resources into the task assembly removes a project and a separately shipped DLL without changing how tasks access their localized messages.

Generate MSBStrings alongside Errors in Xamarin.MacDev.Tasks, keeping the existing resource names and including both sets of translations in the task assembly's satellite assemblies. Remove the standalone project and update the solution, test references, packaging rules, and localization documentation. Keep the shared generated VersionConstants type internal to each assembly so its inclusion in the task assembly does not conflict with Messaging's copy.

The full MSBuild solution builds without warnings or errors, and all 30 localization tests pass.

πŸ€– Pull request created by Copilot

Generate MSBStrings alongside Errors in Xamarin.MacDev.Tasks and ship their translations in the same satellite assemblies. Remove the standalone localization project and update the solution, test references, packaging rules, and localization documentation accordingly.

Keep the shared generated version constants internal to each assembly so the task assembly does not introduce duplicate public types into Messaging and other consumers.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 24, 2026 07:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟑 Changes recommended

Add packaging and satellite-resource regression tests to cover the new assembly layout.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Consolidates MSBuild localization resources into Xamarin.MacDev.Tasks, removing the standalone localization assembly.

Changes:

  • Embeds MSBStrings and translations in the task assembly.
  • Updates solution, tests, packaging, documentation, and version metadata.
  • Removes the standalone localization project and assembly metadata.
File Summary
tools/​autoformat.sh Removes obsolete formatting target.
tests/​msbuild/​Xamarin.MacDev.Tasks.Tests/​Xamarin.MacDev.Tasks.Tests.csproj Removes the standalone assembly reference.
msbuild/​Xamarin.MacDev.Tasks/​Xamarin.MacDev.Tasks.csproj Embeds localization resources and version constants.
msbuild/​Xamarin.MacDev.Tasks.slnx Removes the standalone project.
msbuild/​Xamarin.Localization.MSBuild/​Xamarin.Localization.MSBuild.csproj Deletes the standalone project.
msbuild/​Xamarin.Localization.MSBuild/​README.md Updates localization build instructions.
msbuild/​Xamarin.Localization.MSBuild/​Properties/​AssemblyInfo.cs Deletes obsolete assembly metadata.
msbuild/​Makefile Updates packaging for task-assembly satellite resources.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

βœ… API diff for current PR / commit

NET (empty diffs)

βœ… API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: cac222ec67c6e28a9b8c61d137d018e126385395 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@rolfbjarne
rolfbjarne enabled auto-merge (squash) September 28, 2026 16:37
@rolfbjarne rolfbjarne added the ready-to-review This PR is ready to review/merge. label Sep 28, 2026
@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

πŸš€ [CI Build #cac222e] Test results πŸš€

Test results

βœ… All tests passed on VSTS: test results.

πŸŽ‰ All 269 tests passed πŸŽ‰

Tests counts

βœ… assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
βœ… cecil: All 1 tests passed. Html Report (VSDrops) Download
βœ… dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
βœ… dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
βœ… dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
βœ… dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
βœ… dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
βœ… framework: All 2 tests passed. Html Report (VSDrops) Download
βœ… fsharp: All 4 tests passed. Html Report (VSDrops) Download
βœ… generator: All 5 tests passed. Html Report (VSDrops) Download
βœ… interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
βœ… introspection: All 7 tests passed. Html Report (VSDrops) Download
βœ… linker (iOS): All 31 tests passed. Html Report (VSDrops) Download
βœ… linker (MacCatalyst): All 31 tests passed. Html Report (VSDrops) Download
βœ… linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
βœ… linker (tvOS): All 31 tests passed. Html Report (VSDrops) Download
βœ… monotouch (iOS): All 25 tests passed. [attempt 3] Html Report (VSDrops) Download
βœ… monotouch (MacCatalyst): All 25 tests passed. Html Report (VSDrops) Download
βœ… monotouch (macOS): All 20 tests passed. Html Report (VSDrops) Download
βœ… monotouch (tvOS): All 25 tests passed. Html Report (VSDrops) Download
βœ… msbuild: All 2 tests passed. Html Report (VSDrops) Download
βœ… sharpie: All 1 tests passed. Html Report (VSDrops) Download
βœ… windows: All 3 tests passed. Html Report (VSDrops) Download
βœ… xcframework: All 4 tests passed. Html Report (VSDrops) Download
βœ… xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

βœ… Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
βœ… Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
βœ… Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download
βœ… Tests on macOS Golden Gate (27): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

βœ… Linux build succeeded

Pipeline on Agent
Hash: cac222ec67c6e28a9b8c61d137d018e126385395 [PR build]

@rolfbjarne
rolfbjarne merged commit 48bae99 into main Sep 29, 2026
56 checks passed
@rolfbjarne
rolfbjarne deleted the dev/rolf/inline-localization-resources branch September 29, 2026 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

copilot ready-to-review This PR is ready to review/merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants