From 9e9c3b31d09c88d9af4f706f031bbce99f698e6e Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 12 Nov 2025 02:30:43 +0000
Subject: [PATCH 1/4] Initial plan
From dd792ca2b7880cee0d0508b5e8b4d27c9b2399c1 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 12 Nov 2025 02:37:56 +0000
Subject: [PATCH 2/4] Fix XcodeProject output path for artifacts mode
Co-authored-by: mattleibow <1096616+mattleibow@users.noreply.github.com>
---
dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
index cea2b1dfa146..205d1a6ecb50 100644
--- a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
+++ b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
@@ -13,7 +13,7 @@ This file contains MSBuild targets that support building Xcode framework project
- <_XcodeProjectDefaultOutputPathRoot>$(MSBuildProjectDirectory)/$(IntermediateOutputPath)xcode/
+ <_XcodeProjectDefaultOutputPathRoot>$(IntermediateOutputPath)xcode/
<_BuildXcodeProjectsStamp>$(_MaciOSStampDirectory)_BuildXcodeProjects.stamp
From ad5a54fd1a7d12e8a6a382def3f2fe4baad51c09 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 20 Nov 2025 10:06:28 +0000
Subject: [PATCH 3/4] Convert paths to absolute in C# tasks instead of MSBuild
targets
Co-authored-by: rolfbjarne <249268+rolfbjarne@users.noreply.github.com>
---
dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets | 2 +-
msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs | 6 +++---
msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs | 7 ++++---
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
index 205d1a6ecb50..cea2b1dfa146 100644
--- a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
+++ b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
@@ -13,7 +13,7 @@ This file contains MSBuild targets that support building Xcode framework project
- <_XcodeProjectDefaultOutputPathRoot>$(IntermediateOutputPath)xcode/
+ <_XcodeProjectDefaultOutputPathRoot>$(MSBuildProjectDirectory)/$(IntermediateOutputPath)xcode/
<_BuildXcodeProjectsStamp>$(_MaciOSStampDirectory)_BuildXcodeProjects.stamp
diff --git a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs
index 1a30bf71e968..4fd43bbda3cd 100644
--- a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs
+++ b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcArchive.cs
@@ -57,17 +57,17 @@ protected override IList GenerateCommandLineCommands ()
if (!string.IsNullOrEmpty (OutputPath)) {
args.Add ("-archivePath");
- args.Add (OutputPath);
+ args.Add (Path.GetFullPath (OutputPath));
}
if (!string.IsNullOrEmpty (DerivedDataPath)) {
args.Add ("-derivedDataPath");
- args.Add (DerivedDataPath);
+ args.Add (Path.GetFullPath (DerivedDataPath));
}
if (!string.IsNullOrEmpty (PackageCachePath)) {
args.Add ("-packageCachePath");
- args.Add (PackageCachePath);
+ args.Add (Path.GetFullPath (PackageCachePath));
}
args.AddRange (archive_args);
diff --git a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs
index f7ab3fa48d74..9ed55d12f6c1 100644
--- a/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs
+++ b/msbuild/Xamarin.MacDev.Tasks/Tasks/CreateXcFramework.cs
@@ -21,8 +21,9 @@ protected override IList GenerateCommandLineCommands ()
{
var args = new List ();
- if (Directory.Exists (XcArchivePath)) {
- foreach (var frameworkArchive in Directory.EnumerateDirectories (XcArchivePath, "*.xcarchive")) {
+ var fullXcArchivePath = Path.GetFullPath (XcArchivePath);
+ if (Directory.Exists (fullXcArchivePath)) {
+ foreach (var frameworkArchive in Directory.EnumerateDirectories (fullXcArchivePath, "*.xcarchive")) {
args.Add ("-archive");
args.Add (frameworkArchive);
args.Add ("-framework");
@@ -32,7 +33,7 @@ protected override IList GenerateCommandLineCommands ()
if (!string.IsNullOrEmpty (OutputPath)) {
args.Add ("-output");
- args.Add (OutputPath);
+ args.Add (Path.GetFullPath (OutputPath));
}
return args;
From bcefb10803e2da35ff48dc7ac3080b7c38bafea8 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 21 Nov 2025 08:00:09 +0000
Subject: [PATCH 4/4] Remove MSBuildProjectDirectory prefix from targets file
Co-authored-by: rolfbjarne <249268+rolfbjarne@users.noreply.github.com>
---
dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
index cea2b1dfa146..205d1a6ecb50 100644
--- a/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
+++ b/dotnet/targets/Microsoft.MaciOS.Sdk.Xcode.targets
@@ -13,7 +13,7 @@ This file contains MSBuild targets that support building Xcode framework project
- <_XcodeProjectDefaultOutputPathRoot>$(MSBuildProjectDirectory)/$(IntermediateOutputPath)xcode/
+ <_XcodeProjectDefaultOutputPathRoot>$(IntermediateOutputPath)xcode/
<_BuildXcodeProjectsStamp>$(_MaciOSStampDirectory)_BuildXcodeProjects.stamp