From a8db08d06a7d8d201e6371609bd0205161b9330a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 22 May 2026 02:31:04 +0000 Subject: [PATCH 1/3] Initial plan From e7e089c1e4c768e0ca91dc47128163cf2a27cd6f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 22 May 2026 02:53:41 +0000 Subject: [PATCH 2/3] Replace Log.LogWarning calls in MergeRemapXml with Log.LogCodedWarning using XA4316-XA4318 resource strings Agent-Logs-Url: https://github.com/dotnet/android/sessions/7e03d751-10ad-43ae-aaf3-4eed96128ac4 Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com> --- Documentation/docs-mobile/messages/index.md | 3 ++ Documentation/docs-mobile/messages/xa4316.md | 25 +++++++++++++++ Documentation/docs-mobile/messages/xa4317.md | 31 +++++++++++++++++++ Documentation/docs-mobile/messages/xa4318.md | 26 ++++++++++++++++ .../Properties/Resources.Designer.cs | 27 ++++++++++++++++ .../Properties/Resources.resx | 16 ++++++++++ .../Tasks/MergeRemapXml.cs | 6 ++-- 7 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 Documentation/docs-mobile/messages/xa4316.md create mode 100644 Documentation/docs-mobile/messages/xa4317.md create mode 100644 Documentation/docs-mobile/messages/xa4318.md diff --git a/Documentation/docs-mobile/messages/index.md b/Documentation/docs-mobile/messages/index.md index b6999ba8de8..afb64e1ede3 100644 --- a/Documentation/docs-mobile/messages/index.md +++ b/Documentation/docs-mobile/messages/index.md @@ -233,6 +233,9 @@ Either change the value in the AndroidManifest.xml to match the $(SupportedOSPla + [XA4313](xa4313.md): Framework assembly has been deprecated. + [XA4314](xa4314.md): `$(Property)` is empty. A value for `$(Property)` should be provided. + [XA4315](xa4315.md): Ignoring {file}. Manifest does not have the required 'package' attribute on the manifest element. ++ [XA4316](xa4316.md): Specified input file '{file}' does not exist. Ignoring. ++ [XA4317](xa4317.md): Input file '{file}' does not start with '\'. Skipping. ++ [XA4318](xa4318.md): Input file '{file}' could not be read: {message}. Skipping. ## XA5xxx: GCC and toolchain diff --git a/Documentation/docs-mobile/messages/xa4316.md b/Documentation/docs-mobile/messages/xa4316.md new file mode 100644 index 00000000000..e7a44421ce2 --- /dev/null +++ b/Documentation/docs-mobile/messages/xa4316.md @@ -0,0 +1,25 @@ +--- +title: .NET for Android warning XA4316 +description: XA4316 warning code +ms.date: 05/22/2026 +f1_keywords: + - "XA4316" +--- + +# .NET for Android warning XA4316 + +## Example messages + +``` +warning XA4316: Specified input file '{file}' does not exist. Ignoring. +``` + +## Issue + +A remap XML input file specified via the `InputRemapXmlFiles` item group does +not exist on disk. The file is ignored and the build continues. + +## Solution + +Verify that the file path is correct and that the file exists. Remove the +reference if the file is no longer needed. diff --git a/Documentation/docs-mobile/messages/xa4317.md b/Documentation/docs-mobile/messages/xa4317.md new file mode 100644 index 00000000000..b2f6f51781a --- /dev/null +++ b/Documentation/docs-mobile/messages/xa4317.md @@ -0,0 +1,31 @@ +--- +title: .NET for Android warning XA4317 +description: XA4317 warning code +ms.date: 05/22/2026 +f1_keywords: + - "XA4317" +--- + +# .NET for Android warning XA4317 + +## Example messages + +``` +warning XA4317: Input file '{file}' does not start with ''. Skipping. +``` + +## Issue + +A remap XML input file does not have `` as its root element. +Files passed to the remap XML merge must use the `` root element. + +## Solution + +Ensure the XML file has the correct format with `` as the root +element: + +```xml + + + +``` diff --git a/Documentation/docs-mobile/messages/xa4318.md b/Documentation/docs-mobile/messages/xa4318.md new file mode 100644 index 00000000000..96676f78990 --- /dev/null +++ b/Documentation/docs-mobile/messages/xa4318.md @@ -0,0 +1,26 @@ +--- +title: .NET for Android warning XA4318 +description: XA4318 warning code +ms.date: 05/22/2026 +f1_keywords: + - "XA4318" +--- + +# .NET for Android warning XA4318 + +## Example messages + +``` +warning XA4318: Input file '{file}' could not be read: {message}. Skipping. +``` + +## Issue + +A remap XML input file could not be read, for example because it contains +invalid XML or there is a permissions issue. The file is skipped and the build +continues. + +## Solution + +Verify that the file contains valid XML and that the build process has +permission to read it. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/Resources.Designer.cs b/src/Xamarin.Android.Build.Tasks/Properties/Resources.Designer.cs index 26289b9e7d9..61c82f0d4b2 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/Resources.Designer.cs +++ b/src/Xamarin.Android.Build.Tasks/Properties/Resources.Designer.cs @@ -1726,6 +1726,33 @@ public static string XA4315 { } } + /// + /// Looks up a localized string similar to Specified input file '{0}' does not exist. Ignoring.. + /// + public static string XA4316 { + get { + return ResourceManager.GetString("XA4316", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Input file '{0}' does not start with '<replacements/>'. Skipping.. + /// + public static string XA4317 { + get { + return ResourceManager.GetString("XA4317", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Input file '{0}' could not be read: {1}. Skipping.. + /// + public static string XA4318 { + get { + return ResourceManager.GetString("XA4318", resourceCulture); + } + } + /// /// Looks up a localized string similar to Missing Android NDK toolchains directory '{0}'. Please install the Android NDK.. /// diff --git a/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx b/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx index b58a93543f0..220d5540291 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx +++ b/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx @@ -836,6 +836,22 @@ Remove the '{0}' reference from your project and add the '{1}' NuGet package ins Ignoring `{0}`. Manifest does not have the required 'package' attribute on the manifest element. {0} - The path the the file. + + + + Specified input file '{0}' does not exist. Ignoring. + {0} - The path to the file. + + + + Input file '{0}' does not start with '<replacements/>'. Skipping. + {0} - The path to the file. + + + + Input file '{0}' could not be read: {1}. Skipping. + {0} - The path to the file. +{1} - The exception message. diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/MergeRemapXml.cs b/src/Xamarin.Android.Build.Tasks/Tasks/MergeRemapXml.cs index 29ba45a0905..67cb1ec4323 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/MergeRemapXml.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/MergeRemapXml.cs @@ -53,7 +53,7 @@ public override bool RunTask () void MergeInputFile (XmlWriter writer, string file) { if (!File.Exists (file)) { - Log.LogWarning ($"Specified input file `{file}` does not exist. Ignoring."); + Log.LogCodedWarning ("XA4316", Properties.Resources.XA4316, file); return; } var settings = new XmlReaderSettings { @@ -65,7 +65,7 @@ void MergeInputFile (XmlWriter writer, string file) return; } if (reader.LocalName != "replacements") { - Log.LogWarning ($"Input file `{file}` does not start with ``. Skipping."); + Log.LogCodedWarning ("XA4317", Properties.Resources.XA4317, file); return; } while (reader.Read ()) { @@ -76,7 +76,7 @@ void MergeInputFile (XmlWriter writer, string file) } } catch (Exception e) { - Log.LogWarning ($"Input file `{file}` could not be read: {e.Message} Skipping."); + Log.LogCodedWarning ("XA4318", Properties.Resources.XA4318, file, e.Message); Log.LogDebugMessage ($"Input file `{file}` could not be read: {e.ToString ()}"); } } From fe1aac1580021ba4bedc2f04eba49846015ccfe2 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Fri, 22 May 2026 14:37:32 -0500 Subject: [PATCH 3/3] Fix formatting for XA4317 error message --- Documentation/docs-mobile/messages/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/docs-mobile/messages/index.md b/Documentation/docs-mobile/messages/index.md index afb64e1ede3..86374f9328a 100644 --- a/Documentation/docs-mobile/messages/index.md +++ b/Documentation/docs-mobile/messages/index.md @@ -234,7 +234,7 @@ Either change the value in the AndroidManifest.xml to match the $(SupportedOSPla + [XA4314](xa4314.md): `$(Property)` is empty. A value for `$(Property)` should be provided. + [XA4315](xa4315.md): Ignoring {file}. Manifest does not have the required 'package' attribute on the manifest element. + [XA4316](xa4316.md): Specified input file '{file}' does not exist. Ignoring. -+ [XA4317](xa4317.md): Input file '{file}' does not start with '\'. Skipping. ++ [XA4317](xa4317.md): Input file '{file}' does not start with ``. Skipping. + [XA4318](xa4318.md): Input file '{file}' could not be read: {message}. Skipping. ## XA5xxx: GCC and toolchain