From bc5edf238569f5e83edea0031560ec6cef7a0cb7 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Thu, 25 May 2023 13:25:01 -0500 Subject: [PATCH] [Xamarin.Android.Build.Tasks] Add $(_BindingsToolsLocation) to allow overriding binding tool binaries. --- .../Xamarin.Android.Bindings.ClassParse.targets | 10 ++++++++-- .../Android/Xamarin.Android.Bindings.Core.targets | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Bindings.ClassParse.targets b/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Bindings.ClassParse.targets index e311d457ce9..8b551c72ed2 100644 --- a/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Bindings.ClassParse.targets +++ b/src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Bindings.ClassParse.targets @@ -18,6 +18,12 @@ This file is only used by binding projects. Inputs="@(EmbeddedJar);@(EmbeddedReferenceJar);@(InputJar);@(ReferenceJar);@(_AndroidMSBuildAllProjects)" Outputs="$(ApiOutputFile)"> + + + <_BindingsToolsLocation Condition=" '$(_BindingsToolsLocation)' == '' ">$(MonoAndroidToolsDirectory) + <_BindingsToolsLocation Condition=" '$(UsingAndroidNETSdk)' != 'true' ">$(MonoAndroidToolsDirectory) + + <_AndroidDocumentationPath Include="@(_JavaSourceJavadocXml)" /> <_AndroidDocumentationPath Include="@(JavaDocIndex->'%(RootDir)\%(Directory)')" /> @@ -32,7 +38,7 @@ This file is only used by binding projects. SourceJars="@(EmbeddedJar);@(InputJar)" DocumentationPaths="@(_AndroidDocumentationPath)" NetCoreRoot="$(NetCoreRoot)" - ToolPath="$(MonoAndroidToolsDirectory)" + ToolPath="$(_BindingsToolsLocation)" ToolExe="$(ClassParseToolExe)" /> + + + <_BindingsToolsLocation Condition=" '$(_BindingsToolsLocation)' == '' ">$(MonoAndroidToolsDirectory) + <_BindingsToolsLocation Condition=" '$(UsingAndroidNETSdk)' != 'true' ">$(MonoAndroidToolsDirectory) + + @@ -87,7 +93,7 @@ It is shared between "legacy" binding projects and .NET 5 projects. MonoAndroidFrameworkDirectories="$(_XATargetFrameworkDirectories)" TypeMappingReportFile="$(GeneratedOutputPath)type-mapping.txt" NetCoreRoot="$(NetCoreRoot)" - ToolPath="$(MonoAndroidToolsDirectory)" + ToolPath="$(_BindingsToolsLocation)" ToolExe="$(BindingsGeneratorToolExe)" LangVersion="$(LangVersion)" EnableBindingStaticAndDefaultInterfaceMethods="$(AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods)"