From 04533d3d624a44aee15a66722fa1a21fa78de32b Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 22 Feb 2024 13:29:00 -0600 Subject: [PATCH 1/3] [Java.Interop.Tools.JavaCallableWrappers] don't build net8.0 in XA xamarin/xamarin-android's build began failing with: (CoreCompile target) -> Xamarin.Android.Build.Tasks\Utilities\MamJsonParser.cs(92,43): error CS0122: 'NotNullWhenAttribute' is inaccessible due to its protection level [Xamarin.Android.Build.Tasks\Xamarin.Android.Build.Tasks.csproj] Xamarin.Android.Build.Tasks\Utilities\MamJsonParser.cs(92,81): error CS0122: 'NotNullWhenAttribute' is inaccessible due to its protection level [Xamarin.Android.Build.Tasks\Xamarin.Android.Build.Tasks.csproj] Xamarin.Android.Build.Tasks\Utilities\MavenExtensions.cs(26,32): error CS0122: 'NotNullWhenAttribute' is inaccessible due to its protection level [Xamarin.Android.Build.Tasks\Xamarin.Android.Build.Tasks.csproj] This was happening because the `net8.0` build of `Java.Interop.Tools.JavaCallableWrappers.dll` was being used and should not be: we want the `netstandard2.0` version to be used for MSBuild task assemblies. To fix this, let's only build `netstandard2.0` when `$(XABuild)` is `true`. We should also avoid using `$(AppendTargetFrameworkToOutputPath)=false` when multi-targeting: stop using it inside XA's build. --- .../Java.Interop.Tools.JavaCallableWrappers.csproj | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj index 900b6a8c1..dea2dad69 100644 --- a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj +++ b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj @@ -5,9 +5,16 @@ - - netstandard2.0;$(DotNetTargetFramework) + + netstandard2.0 false + + + + netstandard2.0;$(DotNetTargetFramework) + + + 11.0 enable true From 28ed806e76f7456d8bd7e24dcc20c5a1ce0cbb92 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 22 Feb 2024 15:40:58 -0600 Subject: [PATCH 2/3] Just remove AppendTargetFrameworkToOutputPath=false --- .../Java.Interop.Tools.JavaCallableWrappers.csproj | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj index dea2dad69..0e8bcc790 100644 --- a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj +++ b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj @@ -1,20 +1,7 @@ - ..\..\bin\Build$(Configuration)\XAConfig.props - - - - - netstandard2.0 - false - - - netstandard2.0;$(DotNetTargetFramework) - - - 11.0 enable true From ea3c48aa65c488530a5048435829497b2fee1900 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 22 Feb 2024 15:53:38 -0600 Subject: [PATCH 3/3] Update Java.Interop.Tools.JavaCallableWrappers.csproj --- .../Java.Interop.Tools.JavaCallableWrappers.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj index 0e8bcc790..3b8ba2995 100644 --- a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj +++ b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers.csproj @@ -13,7 +13,8 @@ - + + $(ToolOutputFullPath)