Skip to content

Commit 264f73e

Browse files
Add proper MSBuild error (XA4238) for JCW XML import failures
Co-authored-by: jonathanpeppers <840039+jonathanpeppers@users.noreply.github.com>
1 parent ca9c909 commit 264f73e

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

src/Xamarin.Android.Build.Tasks/Properties/Resources.Designer.cs

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Xamarin.Android.Build.Tasks/Properties/Resources.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -974,6 +974,12 @@ To use a custom JDK path for a command line build, set the 'JavaSdkDirectory' MS
974974
{0} - Maven artifact id
975975
{1} - The HttpClient reported download exception message
976976
</comment>
977+
</data>
978+
<data name="XA4238" xml:space="preserve">
979+
<value>Could not load Java callable wrapper XML file '{0}': {1}</value>
980+
<comment>The following are literal names and should not be translated: Java callable wrapper, XML.
981+
{0} - Path to XML file
982+
{1} - Exception message</comment>
977983
</data>
978984
<data name="XA4239" xml:space="preserve">
979985
<value>Unknown Maven repository: '{0}'.</value>

src/Xamarin.Android.Build.Tasks/Tasks/GenerateJavaCallableWrappers.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@ void GenerateWrappers (List<ITaskItem> assemblies)
6969
return;
7070
}
7171

72-
var xml = JavaObjectsXmlFile.Import (wrappersPath, JavaObjectsXmlFileReadType.JavaCallableWrappers);
72+
JavaObjectsXmlFile xml;
73+
try {
74+
xml = JavaObjectsXmlFile.Import (wrappersPath, JavaObjectsXmlFileReadType.JavaCallableWrappers);
75+
} catch (InvalidOperationException ex) {
76+
Log.LogCodedError ("XA4238", Properties.Resources.XA4238, wrappersPath, ex.Message);
77+
return;
78+
}
7379

7480
if (xml.JavaCallableWrappers.Count == 0) {
7581
Log.LogDebugMessage ($"'{wrappersPath}' is empty, skipping.");

0 commit comments

Comments
 (0)