From 1e496ba4589e9f9d5ccee139b03b3d581271eb61 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 22 Jul 2021 21:38:56 +0200 Subject: [PATCH 01/20] [msbuild] Move the logic to create .pkg files from Mac-specific target files to shared target files. Because we need it for Mac Catalyst as well. --- .../Xamarin.Mac.Common.props | 1 - .../Xamarin.Mac.Common.targets | 29 ----------------- msbuild/Xamarin.Shared/Xamarin.Shared.props | 4 +++ msbuild/Xamarin.Shared/Xamarin.Shared.targets | 31 +++++++++++++++++++ 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props index 1fc023a8febb..7d39cc35872c 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props @@ -46,7 +46,6 @@ Copyright (C) 2013-2014 Xamarin. All rights reserved. - false HttpClientHandler false diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets index a14a9a031846..7112fd5bda45 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets @@ -120,35 +120,6 @@ Copyright (C) 2014 Xamarin. All rights reserved. - - - - - - - - - - - _ComputeLinkMode; diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 9b3b4f2aea2f..7b39fd6c36c1 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -132,6 +132,10 @@ Copyright (C) 2020 Microsoft. All rights reserved. <_SpecifiedCodesignKey Condition="'$(_PlatformName)' == 'macOS'">$(CodeSigningKey) <_SpecifiedCodesignKey Condition="'$(_PlatformName)' != 'macOS'">$(CodesignKey) + + + + false diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.targets b/msbuild/Xamarin.Shared/Xamarin.Shared.targets index 2cf12803e1c4..11de586c93e8 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.targets +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.targets @@ -1621,6 +1621,37 @@ Copyright (C) 2018 Microsoft. All rights reserved. + + + + + + + + + + + From 7e52c08a522d2d4072a31370e459ca5bed71ec46 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 02/20] [msbuild/dotnet] Mac Catalyst entitlements must be embedded in the app signature, not the executable. Just like they are for macOS apps. --- .../Tasks/CompileEntitlementsTaskBase.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/CompileEntitlementsTaskBase.cs b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/CompileEntitlementsTaskBase.cs index 81204b19e3c0..24ffd52b3ffa 100644 --- a/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/CompileEntitlementsTaskBase.cs +++ b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/CompileEntitlementsTaskBase.cs @@ -457,7 +457,9 @@ public override bool Execute () SaveArchivedExpandedEntitlements (archived); - if (SdkIsSimulator) { + if (Platform == Utils.ApplePlatform.MacCatalyst) { + EntitlementsInSignature = CompiledEntitlements; + } else if (SdkIsSimulator) { if (compiled.Count > 0) { EntitlementsInExecutable = CompiledEntitlements; } From 12f49a327ef849d7b6f23a447fe43e2b5562e79c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 03/20] [dotnet] Add the CreateIpa, _CreateInstaller and Archive targets to the things we need to do at build time * CreateIpa: only executed if 'BuildIpa' is set. * _CreateInstaller: only executed if 'CreatePackage' is set. * Archive: only executed if 'ArchiveOnBuild' is set. We don't do this for inner builds of multi-rid builds, only single-rid builds or outer builds of multi-rid builds. --- dotnet/targets/Xamarin.Shared.Sdk.targets | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dotnet/targets/Xamarin.Shared.Sdk.targets b/dotnet/targets/Xamarin.Shared.Sdk.targets index d355cd90fbc9..d8a0d2674efd 100644 --- a/dotnet/targets/Xamarin.Shared.Sdk.targets +++ b/dotnet/targets/Xamarin.Shared.Sdk.targets @@ -172,6 +172,9 @@ $(BuildDependsOn); _CreateAppBundle; Codesign; + CreateIpa; + _CreateInstaller; + Archive; @@ -192,6 +195,9 @@ _CompileAppManifest; _CreateMergedAppBundle; Codesign; + CreateIpa; + _CreateInstaller; + Archive; From 3accf61ffd2a8ecb3a39f1fb6c5d3cf1cc5bd447 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 04/20] [msbuild] Unify the _CanOutputAppBundle property. --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets | 3 --- msbuild/Xamarin.Shared/Xamarin.Shared.props | 3 +++ msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets | 3 --- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets index 7112fd5bda45..d82d503e37ee 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets @@ -26,9 +26,6 @@ Copyright (C) 2014 Xamarin. All rights reserved. Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets')"/> - <_CanOutputAppBundle>False - <_CanOutputAppBundle Condition="'$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true'">true - <_RequireProvisioningProfile>False <_RequireProvisioningProfile Condition="'$(CodesignProvision)' != ''">True diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 7b39fd6c36c1..af70172ceece 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -152,6 +152,9 @@ Copyright (C) 2020 Microsoft. All rights reserved. + <_CanOutputAppBundle>false + <_CanOutputAppBundle Condition="'$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true' Or '$(IsWatchApp)' == 'true'">true + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index 275a87db2ed2..9fbccd44eb9c 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -34,9 +34,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. - <_CanOutputAppBundle>False - <_CanOutputAppBundle Condition="'$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true' Or '$(IsWatchApp)' == 'true'">True - <_CanDeployToDeviceOrSimulator>False <_CanDeployToDeviceOrSimulator Condition="('$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true') And '$(IsWatchApp)' == 'false'">True From 1e8698ae9b21d599912edc5c0f3ebfbbb9eb5bd9 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 05/20] [msbuild] Unify the ArchiveOnBuild property --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props | 1 - msbuild/Xamarin.Shared/Xamarin.Shared.props | 1 + msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props index 7d39cc35872c..1e1fb8340f50 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props @@ -56,7 +56,6 @@ Copyright (C) 2013-2014 Xamarin. All rights reserved. False false None - False False diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index af70172ceece..f25888cf8c89 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -152,6 +152,7 @@ Copyright (C) 2020 Microsoft. All rights reserved. + false <_CanOutputAppBundle>false <_CanOutputAppBundle Condition="'$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true' Or '$(IsWatchApp)' == 'true'">true diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props index 066cda4ad420..e64eb98e450d 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props @@ -36,7 +36,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. False False False - False False From a2a2221c5e63bbc55513ed9c2038c3af62696269 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 06/20] [msbuild] Unify the IsAppExtension property --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props | 1 - msbuild/Xamarin.Shared/Xamarin.Shared.props | 1 + msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props index 1e1fb8340f50..075bf117f726 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props @@ -53,7 +53,6 @@ Copyright (C) 2013-2014 Xamarin. All rights reserved. true - False false None False diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index f25888cf8c89..29ee65cac88a 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -153,6 +153,7 @@ Copyright (C) 2020 Microsoft. All rights reserved. false + false <_CanOutputAppBundle>false <_CanOutputAppBundle Condition="'$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true' Or '$(IsWatchApp)' == 'true'">true diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props index e64eb98e450d..8bdf9a89c51b 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props @@ -32,7 +32,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. False 2 - False False False False From ea61948502a513905f9d277090718d5b88334376 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 07/20] [msbuild] Merge the EnableSGenConc properties. We use two different properties for the same thing: MtouchEnableSGenConc and EnableSGenConc. Going forward, we're sticking with just EnableSGenConc, but we'll keep accepting MtouchEnableSGenConc if it's set. --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props | 1 - msbuild/Xamarin.Shared/Xamarin.Shared.props | 7 +++++++ msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props | 1 - 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props index 075bf117f726..b0d74280ba09 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props @@ -53,7 +53,6 @@ Copyright (C) 2013-2014 Xamarin. All rights reserved. true - false None False diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 29ee65cac88a..1cb0ea209e8f 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -154,6 +154,13 @@ Copyright (C) 2020 Microsoft. All rights reserved. false false + + + + + $(MtouchEnableSGenConc) + false + <_CanOutputAppBundle>false <_CanOutputAppBundle Condition="'$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true' Or '$(IsWatchApp)' == 'true'">true diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props index 8bdf9a89c51b..0a0c1643d361 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props @@ -29,7 +29,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. False False $(MSBuildProjectDirectory) - False 2 False From b62b6213e2515157e6e28dfa8dc11b2e44053d68 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 08/20] [msbuild] Move the EnablePackageSigning variable to shared code. So that it's set for both macOS and Mac Catalyst. --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props | 1 - msbuild/Xamarin.Shared/Xamarin.Shared.props | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props index b0d74280ba09..6e404e70cbc2 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props @@ -47,7 +47,6 @@ Copyright (C) 2013-2014 Xamarin. All rights reserved. HttpClientHandler - false diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 1cb0ea209e8f..533c69dc5fa2 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -136,6 +136,9 @@ Copyright (C) 2020 Microsoft. All rights reserved. false + + + false From a6b10696aa8246106839a5cf75243f9295d2795e Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 09/20] [msbuild] Accept both 'CodeSigningKey' and 'CodesignKey' as synonyms. This makes it easier to use the same csproj for multiple platforms for customers. --- msbuild/Xamarin.Shared/Xamarin.Shared.props | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 533c69dc5fa2..da62d0a9c0e7 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -130,8 +130,10 @@ Copyright (C) 2020 Microsoft. All rights reserved. <_RequireCodeSigning Condition="'$(_PlatformName)' == 'macOS' And '$(IsAppExtension)' == 'true'">true - <_SpecifiedCodesignKey Condition="'$(_PlatformName)' == 'macOS'">$(CodeSigningKey) - <_SpecifiedCodesignKey Condition="'$(_PlatformName)' != 'macOS'">$(CodesignKey) + + + <_SpecifiedCodesignKey Condition="'$(_SpecifiedCodesignKey)' == ''">$(CodeSigningKey) + <_SpecifiedCodesignKey Condition="'$(_SpecifiedCodesignKey)' == ''">$(CodesignKey) From 38acfafd38389c31a415a5bffc1a0409c2199784 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 10/20] [msbuild] Move/document a few properties related to signing and packaging. --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props | 6 ------ msbuild/Xamarin.Shared/Xamarin.Shared.props | 8 ++++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props index 6e404e70cbc2..40554ef7d3f8 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.props @@ -43,13 +43,7 @@ Copyright (C) 2013-2014 Xamarin. All rights reserved. - - - HttpClientHandler - - - true None diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index da62d0a9c0e7..4929d45d0b2f 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -128,6 +128,14 @@ Copyright (C) 2020 Microsoft. All rights reserved. <_RequireCodeSigning Condition="'$(_PlatformName)' == 'macOS' And '$(_RequireCodeSigning)' == ''">false <_CodeSigningKey Condition="'$(_PlatformName)' == 'macOS' And '$(IsAppExtension)' == 'true' And '$(_CodeSigningKey)' == '' And '$(_RequireCodeSigning)' == 'false'">- <_RequireCodeSigning Condition="'$(_PlatformName)' == 'macOS' And '$(IsAppExtension)' == 'true'">true + + + + + + + + From 1db432a1bd366348b844ebe013d7e75aa1561771 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 11/20] [msbuild] Share the logic to determine whether a provisioning profile is required --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets | 3 --- msbuild/Xamarin.Shared/Xamarin.Shared.props | 9 +++++++++ .../Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets | 3 --- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets index d82d503e37ee..365f73855a19 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets @@ -26,9 +26,6 @@ Copyright (C) 2014 Xamarin. All rights reserved. Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets')"/> - <_RequireProvisioningProfile>False - <_RequireProvisioningProfile Condition="'$(CodesignProvision)' != ''">True - <_PreparedResourceRules> <_AppBundleName>$(AssemblyName) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 4929d45d0b2f..7f1afae6be34 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -136,6 +136,15 @@ Copyright (C) 2020 Microsoft. All rights reserved. + + + + + + <_RequireProvisioningProfile Condition="'$(_RequireProvisioningProfile)' == '' And '$(_PlatformName)' == 'macOS' And '$(CodesignProvision)' != ''">true + <_RequireProvisioningProfile Condition="'$(_RequireProvisioningProfile)' == '' And ('$(_PlatformName)' == 'iOS' Or '$(_PlatformName)' == 'tvOS' Or '$(_PlatformName)' == 'watchOS') And ('$(ComputedPlatform)' == 'iPhone' Or '$(CodesignEntitlements)' != '')">true + <_RequireProvisioningProfile Condition="'$(_RequireProvisioningProfile)' == '' And '$(_PlatformName)' == 'MacCatalyst' And '$(CodesignProvision)' != ''">true + <_RequireProvisioningProfile Condition="'$(_RequireProvisioningProfile)' == ''">false diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index 9fbccd44eb9c..5dd28e5fce03 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -37,9 +37,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. <_CanDeployToDeviceOrSimulator>False <_CanDeployToDeviceOrSimulator Condition="('$(OutputType)' == 'Exe' Or '$(IsAppExtension)' == 'true') And '$(IsWatchApp)' == 'false'">True - <_RequireProvisioningProfile>False - <_RequireProvisioningProfile Condition="'$(ComputedPlatform)' == 'iPhone' Or '$(CodesignEntitlements)' != ''">True - <_PreparedResourceRules> <_AppBundleName>$(AssemblyName) From d7599050a7908b7fe49907e14872cbf17ccb3b0e Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 16 Jul 2021 18:22:02 +0200 Subject: [PATCH 12/20] [msbuild] Slightly rework the logic to determine if code signing is required to take Mac Catalyst into account --- msbuild/Xamarin.Shared/Xamarin.Shared.props | 38 ++++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 7f1afae6be34..789032feaacd 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -115,19 +115,6 @@ Copyright (C) 2020 Microsoft. All rights reserved. <_SdkVersion Condition="'$(_PlatformName)' == 'macOS'">$(MacOSXSdkVersion) <_SdkVersion Condition="'$(_PlatformName)' != 'macOS'">$(MtouchSdkVersion) - - - <_RequireCodeSigning Condition="'$(_PlatformName)' != 'macOS' And '$(_RequireCodeSigning)' == ''">false - <_RequireCodeSigning Condition="'$(_PlatformName)' != 'macOS' And '$(ComputedPlatform)' == 'iPhone'">true - - <_RequireCodeSigning Condition="'$(_PlatformName)' == 'macOS' And '$(_RequireCodeSigning)' == ''">$(EnableCodeSigning) - <_RequireCodeSigning Condition="'$(_PlatformName)' == 'macOS' And '$(_RequireCodeSigning)' == ''">false - <_CodeSigningKey Condition="'$(_PlatformName)' == 'macOS' And '$(IsAppExtension)' == 'true' And '$(_CodeSigningKey)' == '' And '$(_RequireCodeSigning)' == 'false'">- - <_RequireCodeSigning Condition="'$(_PlatformName)' == 'macOS' And '$(IsAppExtension)' == 'true'">true @@ -145,7 +132,32 @@ Copyright (C) 2020 Microsoft. All rights reserved. <_RequireProvisioningProfile Condition="'$(_RequireProvisioningProfile)' == '' And ('$(_PlatformName)' == 'iOS' Or '$(_PlatformName)' == 'tvOS' Or '$(_PlatformName)' == 'watchOS') And ('$(ComputedPlatform)' == 'iPhone' Or '$(CodesignEntitlements)' != '')">true <_RequireProvisioningProfile Condition="'$(_RequireProvisioningProfile)' == '' And '$(_PlatformName)' == 'MacCatalyst' And '$(CodesignProvision)' != ''">true <_RequireProvisioningProfile Condition="'$(_RequireProvisioningProfile)' == ''">false + + + + + + <_RequireCodeSigning Condition="'$(_RequireCodeSigning)' == ''">false + <_RequireCodeSigning Condition="'$(ComputedPlatform)' == 'iPhone'">true + + + + + <_RequireCodeSigning Condition="'$(_RequireCodeSigning)' == ''">$(EnableCodeSigning) + + <_RequireCodeSigning Condition="'$(_RequireCodeSigning)' == '' And '$(IsAppExtension)' == 'true'">true + + <_RequireCodeSigning Condition="'$(_RequireCodeSigning)' == ''">false + + + <_CodeSigningKey Condition="'$(IsAppExtension)' == 'true' And '$(_CodeSigningKey)' == '' And '$(_RequireCodeSigning)' == 'false'">- + + From 46128ac62e670de1a196131c15601da222289637 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 23 Jul 2021 18:32:56 +0200 Subject: [PATCH 13/20] [msbuild] Add dummy CreateIpa target for Mac. --- msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets index 365f73855a19..c3fc64fcb8cd 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets @@ -181,6 +181,9 @@ Copyright (C) 2014 Xamarin. All rights reserved. + + + Date: Fri, 23 Jul 2021 18:33:15 +0200 Subject: [PATCH 14/20] [dotnet] Add unit tests for archiving, package creation and ipa creation. --- tests/dotnet/UnitTests/PostBuildTest.cs | 96 +++++++++++++++++++++++++ tests/dotnet/UnitTests/ProjectTest.cs | 38 +--------- tests/dotnet/UnitTests/TestBaseClass.cs | 54 ++++++++++++++ 3 files changed, 151 insertions(+), 37 deletions(-) create mode 100644 tests/dotnet/UnitTests/PostBuildTest.cs create mode 100644 tests/dotnet/UnitTests/TestBaseClass.cs diff --git a/tests/dotnet/UnitTests/PostBuildTest.cs b/tests/dotnet/UnitTests/PostBuildTest.cs new file mode 100644 index 000000000000..74b391655bfa --- /dev/null +++ b/tests/dotnet/UnitTests/PostBuildTest.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.IO; + +using NUnit.Framework; + +using Xamarin.Utils; + +using Microsoft.Build.Framework; +using Microsoft.Build.Logging.StructuredLogger; + +namespace Xamarin.Tests { + [TestFixture] + public class PostBuildTest : TestBaseClass { + [Test] + [TestCase (ApplePlatform.iOS, "ios-arm64")] + [TestCase (ApplePlatform.iOS, "ios-arm64;ios-arm")] + [TestCase (ApplePlatform.TVOS, "tvos-arm64")] + [TestCase (ApplePlatform.MacCatalyst, "maccatalyst-arm64")] + [TestCase (ApplePlatform.MacCatalyst, "maccatalyst-arm64;maccatalyst-x64")] + [TestCase (ApplePlatform.MacOSX, "osx-x64")] + [TestCase (ApplePlatform.MacOSX, "osx-arm64;osx-x64")] + public void ArchiveTest (ApplePlatform platform, string runtimeIdentifiers) + { + var project = "MySimpleApp"; + Configuration.IgnoreIfIgnoredPlatform (platform); + + var project_path = GetProjectPath (project, platform: platform); + Clean (project_path); + var properties = new Dictionary (verbosity); + var multiRid = runtimeIdentifiers.IndexOf (';') >= 0 ? "RuntimeIdentifiers" : "RuntimeIdentifier"; + if (!string.IsNullOrEmpty (runtimeIdentifiers)) + properties [multiRid] = runtimeIdentifiers; + properties ["ArchiveOnBuild"] = "true"; + + var result = DotNet.AssertBuild (project_path, properties); + var reader = new BinLogReader (); + var records = reader.ReadRecords (result.BinLogPath).ToList (); + var findString = "Output Property: ArchiveDir"; + var archiveDirRecord = records.Where (v => v?.Args?.Message?.Contains (findString) == true).ToList (); + Assert.That (archiveDirRecord.Count, Is.GreaterThan (0), "ArchiveDir"); + var archiveDir = archiveDirRecord [0].Args.Message.Substring (findString.Length + 1).Trim (); + Assert.That (archiveDir, Does.Exist, "Archive directory existence"); + } + + [Test] + [TestCase (ApplePlatform.iOS, "ios-arm64")] + [TestCase (ApplePlatform.iOS, "ios-arm64;ios-arm")] + [TestCase (ApplePlatform.TVOS, "tvos-arm64")] + public void BuildIpaTest (ApplePlatform platform, string runtimeIdentifiers) + { + var project = "MySimpleApp"; + Configuration.IgnoreIfIgnoredPlatform (platform); + + var project_path = GetProjectPath (project, platform: platform); + Clean (project_path); + var properties = new Dictionary (verbosity); + var multiRid = runtimeIdentifiers.IndexOf (';') >= 0 ? "RuntimeIdentifiers" : "RuntimeIdentifier"; + if (!string.IsNullOrEmpty (runtimeIdentifiers)) + properties [multiRid] = runtimeIdentifiers; + properties ["BuildIpa"] = "true"; + + DotNet.AssertBuild (project_path, properties); + + var appPath = Path.Combine (Path.GetDirectoryName (project_path), "bin", "Debug", platform.ToFramework (), runtimeIdentifiers.IndexOf (';') >= 0 ? string.Empty : runtimeIdentifiers, $"{project}.app"); + var pkgPath = Path.Combine (appPath, "..", $"{project}.ipa"); + Assert.That (pkgPath, Does.Exist, "pkg creation"); + } + + [Test] + [TestCase (ApplePlatform.MacCatalyst, "maccatalyst-arm64")] + [TestCase (ApplePlatform.MacCatalyst, "maccatalyst-arm64;maccatalyst-x64")] + [TestCase (ApplePlatform.MacOSX, "osx-x64")] + [TestCase (ApplePlatform.MacOSX, "osx-arm64;osx-x64")] + public void BuildPackageTest (ApplePlatform platform, string runtimeIdentifiers) + { + var project = "MySimpleApp"; + Configuration.IgnoreIfIgnoredPlatform (platform); + + var project_path = GetProjectPath (project, platform: platform); + Clean (project_path); + var properties = new Dictionary (verbosity); + var multiRid = runtimeIdentifiers.IndexOf (';') >= 0 ? "RuntimeIdentifiers" : "RuntimeIdentifier"; + if (!string.IsNullOrEmpty (runtimeIdentifiers)) + properties [multiRid] = runtimeIdentifiers; + properties ["CreatePackage"] = "true"; + + DotNet.AssertBuild (project_path, properties); + + var appPath = Path.Combine (Path.GetDirectoryName (project_path), "bin", "Debug", platform.ToFramework (), runtimeIdentifiers.IndexOf (';') >= 0 ? string.Empty : runtimeIdentifiers, $"{project}.app"); + var pkgPath = Path.Combine (appPath, "..", $"{project}.pkg"); + Assert.That (pkgPath, Does.Exist, "pkg creation"); + } + } +} diff --git a/tests/dotnet/UnitTests/ProjectTest.cs b/tests/dotnet/UnitTests/ProjectTest.cs index c6df118922c7..4e2049d589de 100644 --- a/tests/dotnet/UnitTests/ProjectTest.cs +++ b/tests/dotnet/UnitTests/ProjectTest.cs @@ -14,43 +14,7 @@ namespace Xamarin.Tests { [TestFixture] - public class DotNetProjectTest { - Dictionary verbosity = new Dictionary { - { "MtouchExtraArgs", "-v" }, - { "MonoBundlingExtraArgs", "-v" }, - }; - - string GetProjectPath (string project, string subdir = null, ApplePlatform? platform = null) - { - var project_dir = Path.Combine (Configuration.SourceRoot, "tests", "dotnet", project); - if (!string.IsNullOrEmpty (subdir)) - project_dir = Path.Combine (project_dir, subdir); - - if (platform.HasValue) - project_dir = Path.Combine (project_dir, platform.Value.AsString ()); - - var project_path = Path.Combine (project_dir, project + ".csproj"); - if (!File.Exists (project_path)) - project_path = Path.ChangeExtension (project_path, "sln"); - - if (!File.Exists (project_path)) - throw new FileNotFoundException ($"Could not find the project or solution {project} - {project_path} does not exist."); - - return project_path; - } - - void Clean (string project_path) - { - var dirs = Directory.GetDirectories (Path.GetDirectoryName (project_path), "*", SearchOption.AllDirectories); - dirs = dirs.OrderBy (v => v.Length).Reverse ().ToArray (); // If we have nested directories, make sure to delete the nested one first - foreach (var dir in dirs) { - var name = Path.GetFileName (dir); - if (name != "bin" && name != "obj") - continue; - Directory.Delete (dir, true); - } - } - + public class DotNetProjectTest : TestBaseClass { [Test] [TestCase (null)] [TestCase ("iossimulator-x86")] diff --git a/tests/dotnet/UnitTests/TestBaseClass.cs b/tests/dotnet/UnitTests/TestBaseClass.cs new file mode 100644 index 000000000000..51c9cb963e99 --- /dev/null +++ b/tests/dotnet/UnitTests/TestBaseClass.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +using Mono.Cecil; + +using NUnit.Framework; + +using Xamarin.Utils; +using Xamarin.Tests; +using Xamarin.MacDev; + +namespace Xamarin.Tests { + [TestFixture] + public abstract class TestBaseClass { + protected Dictionary verbosity = new Dictionary { + { "MtouchExtraArgs", "-v" }, + { "MonoBundlingExtraArgs", "-v" }, + }; + + protected string GetProjectPath (string project, string subdir = null, ApplePlatform? platform = null) + { + var project_dir = Path.Combine (Configuration.SourceRoot, "tests", "dotnet", project); + if (!string.IsNullOrEmpty (subdir)) + project_dir = Path.Combine (project_dir, subdir); + + if (platform.HasValue) + project_dir = Path.Combine (project_dir, platform.Value.AsString ()); + + var project_path = Path.Combine (project_dir, project + ".csproj"); + if (!File.Exists (project_path)) + project_path = Path.ChangeExtension (project_path, "sln"); + + if (!File.Exists (project_path)) + throw new FileNotFoundException ($"Could not find the project or solution {project} - {project_path} does not exist."); + + return project_path; + } + + protected void Clean (string project_path) + { + var dirs = Directory.GetDirectories (Path.GetDirectoryName (project_path), "*", SearchOption.AllDirectories); + dirs = dirs.OrderBy (v => v.Length).Reverse ().ToArray (); // If we have nested directories, make sure to delete the nested one first + foreach (var dir in dirs) { + var name = Path.GetFileName (dir); + if (name != "bin" && name != "obj") + continue; + Directory.Delete (dir, true); + } + } + } +} From 1aaf9404ac9b56dbafa13a1287dffbdb8ea17007 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Mon, 26 Jul 2021 13:37:16 +0200 Subject: [PATCH 15/20] [msbuild] Don't execute the CollectITunesSourceFiles target on desktop platforms. --- msbuild/Xamarin.Shared/Xamarin.Shared.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.targets b/msbuild/Xamarin.Shared/Xamarin.Shared.targets index 11de586c93e8..d7f2843cff97 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.targets +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.targets @@ -1568,7 +1568,7 @@ Copyright (C) 2018 Microsoft. All rights reserved. From 9158dcc6ffec9163254cbf1acb5ebc9975307794 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 27 Jul 2021 11:04:48 +0200 Subject: [PATCH 16/20] [msbuild] Make code signing required when archiving a macOS or Mac Catalyst app. We fail later with an uninformative error ('The "Archive" task was not given a value for the required parameter "SigningKey"') otherwise, and this way the user doesn't have to manually enable signing to avoid the this error. --- msbuild/Xamarin.Shared/Xamarin.Shared.props | 2 ++ 1 file changed, 2 insertions(+) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index 789032feaacd..f1ccd435c603 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -148,6 +148,8 @@ Copyright (C) 2020 Microsoft. All rights reserved. <_RequireCodeSigning Condition="'$(_RequireCodeSigning)' == ''">$(EnableCodeSigning) + + <_RequireCodeSigning Condition="'$(_RequireCodeSigning)' == '' And '$(ArchiveOnBuild)' == 'true'">true <_RequireCodeSigning Condition="'$(_RequireCodeSigning)' == '' And '$(IsAppExtension)' == 'true'">true From 0c9fff29ff3fca5236c385bf5b45ccfe2700b618 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 27 Jul 2021 11:43:15 +0200 Subject: [PATCH 17/20] [msbuild] Move a few more properties to the shared files so that they're before they participate in conditions. --- msbuild/Xamarin.Shared/Xamarin.Shared.props | 2 ++ msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.props b/msbuild/Xamarin.Shared/Xamarin.Shared.props index f1ccd435c603..3dbdd9052d13 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.props +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.props @@ -190,6 +190,8 @@ Copyright (C) 2020 Microsoft. All rights reserved. false false + false + false diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props index 0a0c1643d361..a9c5e7891b40 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.props @@ -31,8 +31,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. $(MSBuildProjectDirectory) 2 - False - False False False From d1e74874dc00a81f3567bf9c559145660bab97ad Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 27 Jul 2021 14:41:00 +0200 Subject: [PATCH 18/20] [msbuild] Move the CreateIpa target to shared code. There was a main version of this target for Xamarin.iOS, and then numerous dummy targets for two scenarios: * Building app extensions. * Building macOS apps. The first one is handled by the '_CanArchive' property (will be false when building app extensions), and for the second case I've added it to the condition on the CreateIpa target. This way we don't have to have logic elsewhere about when it's valid to call CreateIpa. --- .../Xamarin.Mac.Common.targets | 3 --- msbuild/Xamarin.Shared/Xamarin.Shared.targets | 17 +++++++++++++++++ .../Xamarin.TVOS.AppExtension.Common.targets | 2 -- .../Xamarin.WatchOS.App.Common.targets | 2 -- .../Xamarin.WatchOS.AppExtension.Common.targets | 2 -- .../Xamarin.iOS.AppExtension.Common.targets | 2 -- .../Xamarin.iOS.Common.targets | 17 ----------------- 7 files changed, 17 insertions(+), 28 deletions(-) diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets index c3fc64fcb8cd..365f73855a19 100644 --- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets +++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets @@ -181,9 +181,6 @@ Copyright (C) 2014 Xamarin. All rights reserved. - - - + + + <_BeforeCreateIpaForDistributionDependsOn /> + + + _BeforeCreateIpaForDistribution; + _CompileEntitlements; + _CoreCreateIpa; + _PackageOnDemandResources; + _ZipIpa + + + + + + + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS.AppExtension.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS.AppExtension.Common.targets index cfed5e0acf62..263b74a3ec92 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS.AppExtension.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.TVOS.AppExtension.Common.targets @@ -34,8 +34,6 @@ Copyright (C) 2014-2016 Xamarin. All rights reserved. - - 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 bda245abdb4b..6d5fd7657d1c 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.App.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.App.Common.targets @@ -94,8 +94,6 @@ Copyright (C) 2015-2016 Xamarin. All rights reserved. - - diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.AppExtension.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.AppExtension.Common.targets index 9ff4029b7cdc..7f5919cdefb7 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.AppExtension.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.WatchOS.AppExtension.Common.targets @@ -38,8 +38,6 @@ Copyright (C) 2015-2016 Xamarin. All rights reserved. - - diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.AppExtension.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.AppExtension.Common.targets index 580f938c47ad..2c2584b6b595 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.AppExtension.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.AppExtension.Common.targets @@ -32,8 +32,6 @@ Copyright (C) 2014-2016 Xamarin. All rights reserved. - - diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index 5dd28e5fce03..46de6def2ff4 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -160,19 +160,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. - - - <_BeforeCreateIpaForDistributionDependsOn /> - - - _BeforeCreateIpaForDistribution; - _CompileEntitlements; - _CoreCreateIpa; - _PackageOnDemandResources; - _ZipIpa - - - - - - - From 65b7daf6206d768c88c9996a76f075a5cf9857a6 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 28 Jul 2021 09:17:53 +0200 Subject: [PATCH 19/20] [msbuild] We're using 'EnableSGenConc' internally now, 'MtouchEnableSGenConc' might not be set. --- msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index 46de6def2ff4..18531ec26b16 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -315,7 +315,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. UseFloat32="$(MtouchFloat32)" UseThumb="$(MtouchUseThumb)" EnableBitcode="$(MtouchEnableBitcode)" - EnableSGenConc="$(MtouchEnableSGenConc)" + EnableSGenConc="$(EnableSGenConc)" Interpreter="$(MtouchInterpreter)" AppExtensionReferences="@(_ResolvedAppExtensionReferences)" ArchiveSymbols="$(MonoSymbolArchive)" From aebc0117dc6cc1496ace3acc1f60a4c74e96ff29 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 28 Jul 2021 18:27:35 +0200 Subject: [PATCH 20/20] [msbuild] Disable the CreateIpa target on macOS and Mac Catalyst. --- msbuild/Xamarin.Shared/Xamarin.Shared.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.targets b/msbuild/Xamarin.Shared/Xamarin.Shared.targets index ff7007bbc0bc..cabcceca00ef 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.targets +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.targets @@ -1667,7 +1667,7 @@ Copyright (C) 2018 Microsoft. All rights reserved. - +