Skip to content

Update Xamarin.Messaging and renamed Xamarin paths #22803

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Jun 19, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
<DisableTransitiveFrameworkReferenceDownloads>true</DisableTransitiveFrameworkReferenceDownloads>
<MonoCecilPackageVersion>0.11.5</MonoCecilPackageVersion>
<MSBuildStructuredLoggerPackageVersion>2.2.158</MSBuildStructuredLoggerPackageVersion>
<MicrosoftBuildPackageVersion>16.10.0</MicrosoftBuildPackageVersion>
<MicrosoftBuildPackageVersion>17.13.1</MicrosoftBuildPackageVersion>
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildFrameworkPackageVersion>
<MicrosoftBuildTasksCorePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildTasksCorePackageVersion>
<MicrosoftBuildUtilitiesCorePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildUtilitiesCorePackageVersion>
<NUnitXmlTestLoggerPackageVersion>3.1.15</NUnitXmlTestLoggerPackageVersion>
<!-- Fix transient dependency issue found by component governance 4.7.0 -> 4.7.2 brought by Microsoft.Build package -->
<SystemDrawingCommonPackageVersion>4.7.2</SystemDrawingCommonPackageVersion>
<!-- Fix transient dependency issue found by component governance 4.7.0 -> 4.7.1 brought by Microsoft.Build.Tasks.Core package -->
<SystemSecurityCryptographyXmlPackageVersion>4.7.1</SystemSecurityCryptographyXmlPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>8.0.0</SystemSecurityCryptographyXmlPackageVersion>
</PropertyGroup>
<Import Project="Build.props" Condition="Exists('Build.props')" />
</Project>
10 changes: 10 additions & 0 deletions dotnet/targets/Xamarin.Shared.Sdk.targets
Original file line number Diff line number Diff line change
Expand Up @@ -1313,9 +1313,16 @@
</ItemGroup>
</Target>

<Target Name="_ComputeDotNetRoot">
<PropertyGroup>
<_DotNetRoot Condition="'$(IsMacEnabled)' == 'true'">$(_DotNetRootRemoteDirectory)</_DotNetRoot>
</PropertyGroup>
</Target>

<PropertyGroup>
<_AOTCompileDependsOn>
$(_AOTCompileDependsOn);
_ComputeDotNetRoot;
_ComputeVariables;
_FindAotCompiler;
_DetectAppManifest;
Expand Down Expand Up @@ -1408,6 +1415,7 @@
SdkIsSimulator="$(_SdkIsSimulator)"
SdkRoot="$(_SdkRoot)"
TargetFrameworkMoniker="$(_ComputedTargetFrameworkMoniker)"
DotNetRoot="$(_DotNetRoot)"
>
</CompileNativeCode>

Expand Down Expand Up @@ -1549,6 +1557,7 @@
<PropertyGroup>
<_CompileNativeExecutableDependsOn>
$(_CompileNativeExecutableDependsOn);
_ComputeDotNetRoot;
_DetectSdkLocations;
_ComputeTargetArchitectures;
_GenerateBundleName;
Expand Down Expand Up @@ -1582,6 +1591,7 @@
SdkIsSimulator="$(_SdkIsSimulator)"
SdkRoot="$(_SdkRoot)"
TargetFrameworkMoniker="$(_ComputedTargetFrameworkMoniker)"
DotNetRoot="$(_DotNetRoot)"
>
</CompileNativeCode>

Expand Down
2 changes: 1 addition & 1 deletion msbuild/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
https://dev.azure.com/azure-public/vside/_artifacts/feed/xamarin-impl/NuGet/Xamarin.Messaging.Client/

-->
<MessagingVersion Condition="'$(MessagingVersion)' == ''">[3.0.13]</MessagingVersion>
<MessagingVersion Condition="'$(MessagingVersion)' == ''">[18.0.136-g9e200fbc6d]</MessagingVersion>
<HotRestartVersion>[17.14.133-g001ce2ac7a]</HotRestartVersion>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)../Directory.Build.props" />
Expand Down
1 change: 1 addition & 0 deletions msbuild/ILMerge.targets
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<MergedAssemblies Include="@(ReferencePath)" Condition="'%(FileName)' == 'ILStrip'" />
<MergedAssemblies Include="@(ReferencePath)" Condition="'%(FileName)' == 'Newtonsoft.Json'" />
<MergedAssemblies Include="@(ReferencePath)" Condition="'%(FileName)' == 'Renci.SshNet'" />
<MergedAssemblies Include="@(ReferencePath)" Condition="'%(FileName)' == 'BouncyCastle.Cryptography'" />
<MergedAssemblies Include="@(ReferencePath)" Condition="'%(FileName)' == 'Merq'" />
<MergedAssemblies Include="@(ReferencePath)" Condition="'%(FileName)' == 'Merq.Core'" />
<MergedAssemblies Include="@(ReferencePath)" Condition="'%(FileName)' == 'SshNet.Security.Cryptography'" />
Expand Down
3 changes: 2 additions & 1 deletion msbuild/Messaging/Xamarin.Messaging.Build/BuildAgent.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Xamarin.Messaging.Build.Contracts;
using Xamarin.Messaging.Client;
Expand Down Expand Up @@ -39,7 +40,7 @@ protected override Task InitializeAsync ()
return Task.FromResult (true);
}

protected override async Task RegisterCustomHandlersAsync (MessageHandlerManager manager)
protected override async Task RegisterCustomHandlersAsync (MessageHandlerManager manager, CancellationToken cancellationToken)
{
await TryRegisterHandlerAsync (new ExecuteTaskMessageHandler ())
.ConfigureAwait (continueOnCapturedContext: false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class CompareFilesMessageHandler : RequestHandler<CompareItemsMessage, Co
protected override async Task<CompareItemsResult> ExecuteAsync (CompareItemsMessage message)
{
return await Task.Run (() => {
var buildPath = Path.Combine (MessagingContext.GetBuildPath (), message.AppName, message.SessionId);
var buildPath = Path.Combine (MessagingContext.BuildsPath, message.AppName, message.SessionId);
var files = new List<string> ();

using (var hashAlgorithm = Hash.GetAlgorithm ()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ protected override async Task ExecuteAsync (CopyItemMessage message)
{
await Task.Run (async () => {
var targetPath = Path.GetFullPath (Path.Combine (
MessagingContext.GetBuildPath (),
MessagingContext.BuildsPath,
message.AppName,
message.SessionId,
PlatformPath.GetPathForCurrentPlatform (message.ItemSpec)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ protected override async Task<ExecuteTaskResult> ExecuteAsync (ExecuteTaskMessag
var currentDirectory = Directory.GetCurrentDirectory ();

try {
var buildDirectory = Path.Combine (MessagingContext.GetBuildPath (), message.AppName, message.SessionId);
var buildDirectory = Path.Combine (MessagingContext.BuildsPath, message.AppName, message.SessionId);

Directory.CreateDirectory (buildDirectory);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ protected override async Task<GetItemResult> ExecuteAsync (GetItemMessage messag
{
return await Task.Run<GetItemResult> (() => {
var targetPath = Path.GetFullPath (Path.Combine (
MessagingContext.GetBuildPath (),
MessagingContext.BuildsPath,
message.AppName,
message.SessionId,
PlatformPath.GetPathForCurrentPlatform (message.ItemSpec)));
Expand Down
14 changes: 13 additions & 1 deletion msbuild/Messaging/Xamarin.Messaging.Build/Program.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using Xamarin.Messaging.Client;
using System.IO;

namespace Xamarin.Messaging.Build {
class Program {
Expand All @@ -10,7 +13,16 @@ static async Task Main (string [] args)
var agent = new BuildAgent (topicGenerator, arguments.Version, arguments.VersionInfo);
var runner = new AgentConsoleRunner<BuildAgent> (agent, arguments);

await runner.RunAsync ().ConfigureAwait (continueOnCapturedContext: false);
//Hack to support legacy paths from Windows (likely Dev17 versions)
var index = MessagingContext.BasePath.IndexOf ("Xamarin", StringComparison.Ordinal);

if (index >= 0) {
var xamarinPath = MessagingContext.BasePath.Substring (0, index + "Xamarin".Length);

MessagingContext.BuildsPath = Path.Combine (xamarinPath, "mtbs", "builds");
}

await runner.RunAsync (CancellationToken.None).ConfigureAwait (continueOnCapturedContext: false);
}
}
}
2 changes: 1 addition & 1 deletion msbuild/Messaging/Xamarin.Messaging.Build/TaskRunner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public ExecuteTaskResult Execute (string taskName, string inputs)

void SetDotNetVariables ()
{
var xmaSdkRootPath = Path.Combine (MessagingContext.GetXmaPath (), "SDKs");
var xmaSdkRootPath = MessagingContext.SdksPath;
var xmaDotNetRootPath = Path.Combine (xmaSdkRootPath, "dotnet");
var xmaDotNetPath = default (string);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<OutputType>Exe</OutputType>
<AssemblyName>Build</AssemblyName>
<NoWarn>$(NoWarn);NU1603</NoWarn> <!-- Xamarin.Messaging.Build.Common 1.6.24 depends on Merq (>= 1.1.0) but Merq 1.1.0 was not found. An approximate best match of Merq 1.1.4 was resolved. -->
Expand Down
5 changes: 5 additions & 0 deletions msbuild/Xamarin.Localization.MSBuild/MSBStrings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -789,6 +789,11 @@
</value>
</data>

<data name="M0169" xml:space="preserve">
<value>Adjusted path from '{0}' to '{1}'
</value>
</data>

<data name="E0169" xml:space="preserve">
<value>Unknown target framework identifier: {0}.
</value>
Expand Down
2 changes: 1 addition & 1 deletion msbuild/Xamarin.MacDev.Tasks/Tasks/ACTool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ public override bool Execute ()

foreach (var tag in resourceTags.EnumerateArray ()) {
if (tag.ValueKind == JsonValueKind.String)
tags.Add (tag.GetString ());
tags.Add (tag.GetString ()!);
}

var tagList = tags.ToList ();
Expand Down
34 changes: 32 additions & 2 deletions msbuild/Xamarin.MacDev.Tasks/Tasks/CompileNativeCode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ public class CompileNativeCode : XamarinTask, ICancelableTask, ITaskCallback {

[Required]
public bool SdkIsSimulator { get; set; }

public string DotNetRoot { get; set; } = "";
#endregion

public override bool Execute ()
Expand Down Expand Up @@ -107,8 +109,11 @@ public override bool Execute ()
arguments.Add (SdkRoot);

if (IncludeDirectories is not null) {
foreach (var inc in IncludeDirectories)
arguments.Add ("-I" + Path.GetFullPath (inc.ItemSpec));
foreach (var inc in IncludeDirectories) {
var incPath = GetIncludeDirectory (inc);

arguments.Add ("-I" + incPath);
}
}

var args = info.GetMetadata ("Arguments");
Expand Down Expand Up @@ -157,5 +162,30 @@ public void Cancel ()
if (ShouldExecuteRemotely ())
BuildConnection.CancelAsync (BuildEngine4).Wait ();
}

string GetIncludeDirectory (ITaskItem item)
{
var path = Path.GetFullPath (item.ItemSpec);

if (string.IsNullOrEmpty (DotNetRoot)) {
return path;
}

var packsIdentifier = "packs";
var dotnetPacksIdentifier = Path.Combine ("dotnet", packsIdentifier);

//If the directory points to a dotnet pack, we want to ensure the full path
//is actually pointing to a sub-folder in the dotnet SDK
if (path.IndexOf (dotnetPacksIdentifier, StringComparison.Ordinal) >= 0 && !path.StartsWith (DotNetRoot, StringComparison.Ordinal)) {
var relativePath = path.Substring (path.IndexOf (packsIdentifier, StringComparison.Ordinal));
//We combine the relative pack dir (starting from "packs") with the dotnet root to get the full path
var newPath = Path.Combine (DotNetRoot, relativePath);

Log.LogMessage (MessageImportance.Low, MSBStrings.M0169, path, newPath);
path = newPath;
}

return path;
}
}
}
3 changes: 1 addition & 2 deletions msbuild/Xamarin.MacDev.Tasks/Tasks/CopyArchiveFiles.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,7 @@ async System.Threading.Tasks.Task<IBuildClient> GetBuildClientAsync ()

async System.Threading.Tasks.Task CopyArchiveAsync (ISshCommands sshCommands)
{
var serverHomeDirectory = await sshCommands.GetHomeDirectoryAsync ().ConfigureAwait (continueOnCapturedContext: false);
var buildPath = PlatformPath.GetServerBuildPath (serverHomeDirectory, AppName, SessionId, TargetPath);
var buildPath = PlatformPath.GetServerBuildPath (AppName, SessionId, TargetPath);

if (!Directory.Exists (buildPath)) {
await sshCommands.CreateDirectoryAsync (buildPath).ConfigureAwait (continueOnCapturedContext: false);
Expand Down
2 changes: 1 addition & 1 deletion msbuild/Xamarin.MacDev.Tasks/Xamarin.MacDev.Tasks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

<ItemGroup>
<PackageReference Include="System.Reflection.MetadataLoadContext" Version="8.0.0" />
<PackageReference Include="System.Text.Json" Version="4.7.0" />
<PackageReference Include="System.Text.Json" Version="8.0.5" />
<PackageReference Include="Mono.Cecil" Version="$(MonoCecilPackageVersion)" />
<!-- Compile against Microsoft.Build* NuGet refs, but do not copy to OutputDir if IncludeMSBuildAssets was not set. -->
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildPackageVersion)" IncludeAssets="$(IncludeMSBuildAssets)" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ Copyright (C) 2011-2013 Xamarin. All rights reserved.
DependsOnTargets="_SayHello"
BeforeTargets="_CleanDebugSymbols;_CleanAppBundle;_DetectAppManifest;_DetectSdkLocations;_GenerateBundleName" />

<!-- Default context path values for remote builds -->
<!-- When building from VS, these values will be passed directly from the IDE -->
<Target Name="EnsureMessagingContext" BeforeTargets="_SayHello">
<PropertyGroup>
<BasePath Condition="'$(BasePath)' == ''">~/Library/Caches/maui/PairToMac</BasePath>
<LogsPath Condition="'$(LogsPath)' == ''">~/Library/Logs</LogsPath>
<LocalBasePath Condition="'$(LocalBasePath)' == ''">%LOCALAPPDATA%\maui\iOS\PairToMac</LocalBasePath>
</PropertyGroup>
</Target>

<PropertyGroup>
<CreateAppBundleDependsOn>
GetBundleResourceWithLogicalNameItems;
Expand Down
10 changes: 5 additions & 5 deletions tests/dotnet/Windows/collect-binlogs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ fi
rm -f ~/remote_build_testing/windows-remote-logs.zip
zip -9r ~/remote_build_testing/windows-remote-logs.zip ~/remote_build_testing/binlogs

if test -d ~/Library/Caches/Xamarin/XMA/Agents/Build; then
find ~/Library/Caches/Xamarin/XMA/Agents/Build -type f -print0 | xargs -0 shasum -a 256 > ~/remote_build_testing/Agents_Build_Checksums.txt
if test -d ~/Library/Caches/maui/PairToMac/Agents/Build; then
find ~/Library/Caches/maui/PairToMac/Agents/Build -type f -print0 | xargs -0 shasum -a 256 > ~/remote_build_testing/Agents_Build_Checksums.txt
zip -9r ~/remote_build_testing/windows-remote-logs.zip ~/remote_build_testing/Agents_Build_Checksums.txt
fi

Expand All @@ -49,6 +49,6 @@ ps auxww > ~/remote_build_testing/processes.txt || true
# Collect any crash reports.
zip -9r ~/remote_build_testing/windows-remote-logs.zip ~/Library/Logs/DiagnosticReports || true

ls -la ~/Library/Caches/Xamarin/XMA/SDKs/dotnet/ >> ~/remote_build_testing/dotnet-debug.txt 2>&1 || true
cat ~/Library/Caches/Xamarin/XMA/SDKs/dotnet/NuGet.config >> ~/remote_build_testing/dotnet-debug.txt 2>&1 || true
cat ~/Library/Caches/Xamarin/XMA/SDKs/.home/.nuget/NuGet/NuGet.Config >> ~/remote_build_testing/dotnet-debug.txt 2>&1 || true
ls -la ~/Library/Caches/maui/PairToMac/Sdks/dotnet/ >> ~/remote_build_testing/dotnet-debug.txt 2>&1 || true
cat ~/Library/Caches/maui/PairToMac/Sdks/dotnet/NuGet.config >> ~/remote_build_testing/dotnet-debug.txt 2>&1 || true
cat ~/Library/Caches/maui/PairToMac/Sdks/.home/.nuget/NuGet/NuGet.Config >> ~/remote_build_testing/dotnet-debug.txt 2>&1 || true
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ public void CustomEntitlemements_String (string value)
ExecuteTask (task);
var compiled = PDictionary.FromFile (compiledEntitlements)!;
Assert.AreEqual (value ?? string.Empty, compiled.GetString ("com.xamarin.custom.entitlement")?.Value, "#1");
Assert.IsTrue (Engine.Logger.MessageEvents.Any (v => v.Message.Contains ("The app requests the entitlement 'com.xamarin.custom.entitlement', but provisioning profile WildCardMacAppDevelopment does not grant this entitlement. This is probably not OK.")), "custom entitlement");
Assert.IsTrue (Engine.Logger.MessageEvents.Any (v => v.Message?.Contains ("The app requests the entitlement 'com.xamarin.custom.entitlement', but provisioning profile WildCardMacAppDevelopment does not grant this entitlement. This is probably not OK.") == true), "custom entitlement");
}

[Test]
Expand All @@ -218,7 +218,7 @@ public void CustomEntitlemements_StringArray ()
var array = compiled.GetArray ("com.xamarin.custom.entitlement");
Assert.NotNull (array, "array");
Assert.AreEqual (new string [] { "A", "B", "C" }, array.ToStringArray (), "array contents");
Assert.IsTrue (Engine.Logger.MessageEvents.Any (v => v.Message.Contains ("The app requests the entitlement 'com.xamarin.custom.entitlement', but provisioning profile WildCardMacAppDevelopment does not grant this entitlement. This is probably not OK.")), "custom entitlement");
Assert.IsTrue (Engine.Logger.MessageEvents.Any (v => v.Message?.Contains ("The app requests the entitlement 'com.xamarin.custom.entitlement', but provisioning profile WildCardMacAppDevelopment does not grant this entitlement. This is probably not OK.") == true), "custom entitlement");
}

[Test]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public void StaticLibraries_Error_Inexistent (string skipStaticLibraryValidation
var task = CreateTask (skipStaticLibraryValidation, "/does/not/exist");
ExecuteTask (task, expectedErrorCount: 1);
Assert.AreEqual (0, Engine.Logger.WarningsEvents.Count, "Warning Count");
Assert.AreEqual ($"The file '/does/not/exist' does not exist.", Engine.Logger.ErrorEvents [0].Message.TrimEnd (), "Error Message");
Assert.AreEqual ($"The file '/does/not/exist' does not exist.", Engine.Logger.ErrorEvents [0].Message?.TrimEnd (), "Error Message");
}

[Test]
Expand All @@ -122,7 +122,7 @@ public void StaticLibraries_Warn_Inexistent (string skipStaticLibraryValidation)
var task = CreateTask (skipStaticLibraryValidation, "/does/not/exist");
ExecuteTask (task, expectedErrorCount: 0);
Assert.AreEqual (1, Engine.Logger.WarningsEvents.Count, "Warning Count");
Assert.AreEqual ($"The file '/does/not/exist' does not exist.", Engine.Logger.WarningsEvents [0].Message.TrimEnd (), "Error Message");
Assert.AreEqual ($"The file '/does/not/exist' does not exist.", Engine.Logger.WarningsEvents [0].Message?.TrimEnd (), "Error Message");
}
}
}
5 changes: 5 additions & 0 deletions tools/devops/automation/scripts/clean-for-remote-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ if du -hs ~/Library/Caches/Xamarin; then
rm -rf ~/Library/Caches/Xamarin
fi

# Make sure we don't have any old stuff installed
if du -hs ~/Library/Caches/maui; then
rm -rf ~/Library/Caches/maui
fi

# Clean up temporary logs
rm -rf /tmp/com.xamarin.*

Expand Down
14 changes: 7 additions & 7 deletions tools/devops/automation/scripts/prepare-for-remote-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ cd "$(dirname "${BASH_SOURCE[0]}")/../../../.."

# Install the local .NET we're using into XMA's directory
# (we can't point XMA to our local directory)
mkdir -p ~/Library/Caches/Xamarin/XMA/SDKs
cp -cRH ./builds/downloads/dotnet ~/Library/Caches/Xamarin/XMA/SDKs
sed '/local-tests-feed/d' ./NuGet.config > ~/Library/Caches/Xamarin/XMA/SDKs/dotnet/NuGet.config
mkdir -p ~/Library/Caches/maui/PairToMac/Sdks
cp -cRH ./builds/downloads/dotnet ~/Library/Caches/maui/PairToMac/Sdks
sed '/local-tests-feed/d' ./NuGet.config > ~/Library/Caches/maui/PairToMac/Sdks/dotnet/NuGet.config

mkdir -p ~/Library/Caches/Xamarin/XMA/SDKs/.home/.nuget/NuGet/
cp ~/Library/Caches/Xamarin/XMA/SDKs/dotnet/NuGet.config ~/Library/Caches/Xamarin/XMA/SDKs/.home/.nuget/NuGet/NuGet.Config
mkdir -p ~/Library/Caches/maui/PairToMac/Sdks/.home/.nuget/NuGet/
cp ~/Library/Caches/maui/PairToMac/Sdks/dotnet/NuGet.config ~/Library/Caches/maui/PairToMac/Sdks/.home/.nuget/NuGet/NuGet.Config

# some diagnostics
cat ~/Library/Caches/Xamarin/XMA/SDKs/dotnet/NuGet.config
cd ~/Library/Caches/Xamarin/XMA/SDKs/dotnet/
cat ~/Library/Caches/maui/PairToMac/Sdks/dotnet/NuGet.config
cd ~/Library/Caches/maui/PairToMac/Sdks/dotnet/
./dotnet --info || true
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ if ("$Env:DOTNET" -eq "") {
$Env:ServerAddress = $Env:MAC_AGENT_IP
$Env:ServerUser = $Env:MAC_AGENT_USER
$Env:ServerPassword = $Env:XMA_PASSWORD
$Env:_DotNetRootRemoteDirectory = "/Users/$Env:MAC_AGENT_USER/Library/Caches/Xamarin/XMA/SDKs/dotnet/"
$Env:_DotNetRootRemoteDirectory = "/Users/$Env:MAC_AGENT_USER/Library/Caches/maui/PairToMac/Sdks/dotnet/"

& $Env:DOTNET `
test `
Expand Down
Loading