59a6c72be7
Works around NuGet parallel restore timeouts becoming build failures when the machine has a slow connection, for example in our Docker Fedora containers.
59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
|
|
namespace Microsoft.DotNet.Cli.Build
|
|
{
|
|
public class DotNetRestore : DotNetTool
|
|
{
|
|
protected override string Command
|
|
{
|
|
get { return "restore"; }
|
|
}
|
|
|
|
protected override string Args
|
|
{
|
|
get { return $"{GetSource()} {GetPackages()} {GetSkipInvalidConfigurations()} {GetDisableParallel()}"; }
|
|
}
|
|
|
|
public string Source { get; set; }
|
|
|
|
public string Packages { get; set; }
|
|
|
|
public bool SkipInvalidConfigurations { get; set; }
|
|
|
|
private string GetSource()
|
|
{
|
|
if (!string.IsNullOrEmpty(Source))
|
|
{
|
|
return $"--source {Source}";
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private string GetPackages()
|
|
{
|
|
if (!string.IsNullOrEmpty(Packages))
|
|
{
|
|
return $"--packages {Packages}";
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private string GetSkipInvalidConfigurations()
|
|
{
|
|
if (SkipInvalidConfigurations)
|
|
{
|
|
return "/p:SkipInvalidConfigurations=true";
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private string GetDisableParallel()
|
|
{
|
|
return "--disable-parallel";
|
|
}
|
|
}
|
|
}
|