From b1a732d5260dbf6a100c7f126df720e6698c740f Mon Sep 17 00:00:00 2001 From: Emanuel Fernandez Dell'Oca Date: Fri, 26 Aug 2022 02:18:43 -0400 Subject: [PATCH] [dotnet] macOS/MacCatalyst Archive and publishing support (#15720) These changes are required to support Archive and Publishing for .NET macOS/MacCatalyst projects from VS for Mac. Co-authored-by: Alex Soto --- .../Tasks/ArchiveTaskBase.cs | 4 +-- msbuild/Xamarin.Shared/Xamarin.Shared.targets | 35 +++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/ArchiveTaskBase.cs b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/ArchiveTaskBase.cs index 6634cf9aa3..e259cd33b3 100644 --- a/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/ArchiveTaskBase.cs +++ b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/ArchiveTaskBase.cs @@ -42,7 +42,6 @@ namespace Xamarin.MacDev.Tasks public string SolutionPath { get; set; } - [Required] public string SigningKey { get; set; } public ITaskItem [] WatchAppReferences { get; set; } @@ -205,7 +204,8 @@ namespace Xamarin.MacDev.Tasks if (icons.Count > 0) props.Add ("IconPaths", icons); - props.Add ("SigningIdentity", SigningKey); + if (!string.IsNullOrEmpty (SigningKey)) + props.Add ("SigningIdentity", SigningKey); arInfo.Add ("ApplicationProperties", props); arInfo.Add ("ArchiveVersion", new PNumber (2)); diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.targets b/msbuild/Xamarin.Shared/Xamarin.Shared.targets index 005d1805c3..2a0e0b76d3 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.targets +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.targets @@ -289,7 +289,7 @@ Copyright (C) 2018 Microsoft. All rights reserved. - + @@ -1425,6 +1425,7 @@ Copyright (C) 2018 Microsoft. All rights reserved. <_AppBundleManifestPath>$(_AppBundlePath)$(_AppBundleManifestRelativePath)Info.plist <_CreateAppManifest>$(_CanOutputAppBundle) + <_CreateAppManifest Condition="'$(IsAppDistribution)' == 'true'">false <_TemporaryAppManifest>$(DeviceSpecificIntermediateOutputPath)AppManifest.plist @@ -1829,6 +1830,7 @@ Copyright (C) 2018 Microsoft. All rights reserved. <_CodesignAppBundleDependsOn> $(_CodesignAppBundleDependsOn); + _DetectSigningIdentity; _CleanAppBundleRootDirectory; _EmbedProvisionProfile; _CollectCodesigningData; @@ -2728,7 +2730,17 @@ Copyright (C) 2018 Microsoft. All rights reserved. - + + <_CreateInstallerDependsOn> + _GenerateBundleName; + _GetAppBundleEntitlements; + Codesign; + _CompileProductDefinition; + _WriteAppManifest + + + + $(TargetDir) @@ -2751,6 +2763,25 @@ Copyright (C) 2018 Microsoft. All rights reserved. + + + + <_CompiledCodesignEntitlements>$(DeviceSpecificIntermediateOutputPath)AppBundleEntitlements.plist + + + + + + + + <_BeforeCreateIpaForDistributionDependsOn />