From e1955574a39af59b345b0b9792ed1b8763e21a9d Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 3 Apr 2020 13:20:31 +0200 Subject: [PATCH 1/2] [msbuild] Compute the ComputedFrameworkMoniker later in the build. Fixes #8277. It might only be necessary for Xamarin.iOS builds, but modify both XI and XM so that the logic is identical. Fixes https://github.com/xamarin/xamarin-macios/issues/8277. --- .../Xamarin.Mac.Common.props | 24 ++++++++++--------- .../Xamarin.Mac.Common.targets | 7 +++--- .../Xamarin.Mac.ObjCBinding.CSharp.targets | 1 + .../Xamarin.WatchOS.App.Common.targets | 2 +- .../Xamarin.iOS.Common.props | 10 ++++++-- .../Xamarin.iOS.Common.targets | 23 +++++++++--------- .../Xamarin.iOS.ObjCBinding.CSharp.targets | 1 + .../Xamarin.iOS.WatchApp.Common.targets | 2 +- 8 files changed, 41 insertions(+), 29 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props index 9822b35acad9..a589b80614ed 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props @@ -26,17 +26,19 @@ Copyright (C) 2013-2014 Xamarin. All rights reserved. <_XamarinCommonPropsHasBeenImported>true - - - <_ComputedTargetFrameworkMoniker>$(TargetFrameworkMoniker) - - <_ComputedTargetFrameworkMoniker Condition="'$(_ComputedTargetFrameworkMoniker)' == 'Xamarin.Mac,Version=v2.0'">Xamarin.Mac,Version=v2.0,Profile=Mobile - - <_ComputedTargetFrameworkMoniker Condition="'$(UseXamMacFullFramework)' == 'true' And $([MSBuild]::ValueOrDefault('$(_ComputedTargetFrameworkMoniker),', '').StartsWith('.NETFramework,', StringComparison.OrdinalIgnoreCase))">Xamarin.Mac,Version=v4.5,Profile=Full - - <_ComputedTargetFrameworkMoniker Condition="'$(UseXamMacFullFramework)' != 'true' And $([MSBuild]::ValueOrDefault('$(_ComputedTargetFrameworkMoniker),', '').StartsWith('.NETFramework,', StringComparison.OrdinalIgnoreCase))">Xamarin.Mac,Version=v4.5,Profile=System - + + + + <_ComputedTargetFrameworkMoniker>$(TargetFrameworkMoniker) + + <_ComputedTargetFrameworkMoniker Condition="'$(_ComputedTargetFrameworkMoniker)' == 'Xamarin.Mac,Version=v2.0'">Xamarin.Mac,Version=v2.0,Profile=Mobile + + <_ComputedTargetFrameworkMoniker Condition="'$(UseXamMacFullFramework)' == 'true' And $([MSBuild]::ValueOrDefault('$(_ComputedTargetFrameworkMoniker),', '').StartsWith('.NETFramework,', StringComparison.OrdinalIgnoreCase))">Xamarin.Mac,Version=v4.5,Profile=Full + + <_ComputedTargetFrameworkMoniker Condition="'$(UseXamMacFullFramework)' != 'true' And $([MSBuild]::ValueOrDefault('$(_ComputedTargetFrameworkMoniker),', '').StartsWith('.NETFramework,', StringComparison.OrdinalIgnoreCase))">Xamarin.Mac,Version=v4.5,Profile=System + + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.App.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.App.Common.targets index 4c67f0325b00..a3ef95f87603 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.App.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.App.Common.targets @@ -52,7 +52,7 @@ Copyright (C) 2015-2016 Xamarin. All rights reserved. - + - <_ComputedTargetFrameworkMoniker Condition="'$(_ComputedTargetFrameworkMoniker)' == ''">$(TargetFrameworkMoniker) + + + + <_ComputedTargetFrameworkMoniker Condition="'$(_ComputedTargetFrameworkMoniker)' == ''">$(TargetFrameworkMoniker) + + + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index eef62af106b9..af21049e0a4e 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -223,7 +223,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. - + - + - + - + - + - + <_CompileToNativeDependsOn> + _ComputeTargetFrameworkMoniker; _DetectAppManifest; _DetectSdkLocations; _GenerateBundleName; @@ -1249,7 +1250,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. @@ -1366,7 +1367,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. + DependsOnTargets="_BeforeCoreCompileSceneKitAssets;_GenerateBundleName;_ComputeTargetFrameworkMoniker"> - - + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.WatchApp.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.WatchApp.Common.targets index ffbdc8336d8b..fb419ec43143 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.WatchApp.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.WatchApp.Common.targets @@ -38,7 +38,7 @@ Copyright (C) 2015-2016 Xamarin. All rights reserved. - + Date: Mon, 6 Apr 2020 09:56:47 +0200 Subject: [PATCH 2/2] iOS' *.ObjCBinding.Common.props does not end up importing *.Common.props like the mac version. --- .../Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props | 4 ---- .../Xamarin.iOS.ObjCBinding.Common.props | 12 +++++++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props index 53817f022c1a..14b658f5baf6 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props @@ -24,10 +24,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. <_XamarinCommonPropsHasBeenImported>true - - <_ComputedTargetFrameworkMoniker Condition="'$(_ComputedTargetFrameworkMoniker)' == ''">$(TargetFrameworkMoniker) - - - <_ComputedTargetFrameworkMoniker Condition="'$(_ComputedTargetFrameworkMoniker)' == ''">$(TargetFrameworkMoniker) - + + + + <_ComputedTargetFrameworkMoniker Condition="'$(_ComputedTargetFrameworkMoniker)' == ''">$(TargetFrameworkMoniker) + +