mirror of
https://github.com/aphrody-labs/NuGet.Client.git
synced 2026-10-15 22:09:04 +00:00
166 lines
6.0 KiB
C#
166 lines
6.0 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using NuGet.Common;
|
|
using NuGet.Configuration;
|
|
using NuGet.Packaging.Signing;
|
|
using NuGet.ProjectModel;
|
|
using NuGet.Protocol;
|
|
using NuGet.Protocol.Core.Types;
|
|
using NuGet.Protocol.Test;
|
|
using Test.Utility;
|
|
|
|
namespace NuGet.Commands.Test
|
|
{
|
|
public class TestRestoreRequest : RestoreRequest
|
|
{
|
|
public TestRestoreRequest(
|
|
PackageSpec project,
|
|
IEnumerable<PackageSource> sources,
|
|
string packagesDirectory,
|
|
ILogger log)
|
|
: this(
|
|
project,
|
|
sources,
|
|
packagesDirectory,
|
|
new TestSourceCacheContext(),
|
|
log)
|
|
{
|
|
}
|
|
|
|
public TestRestoreRequest(
|
|
PackageSpec project,
|
|
IEnumerable<PackageSource> sources,
|
|
string packagesDirectory,
|
|
ClientPolicyContext clientPolicyContext,
|
|
ILogger log)
|
|
: this(
|
|
project,
|
|
sources.Select(Repository.Factory.GetCoreV3).ToList(),
|
|
packagesDirectory,
|
|
new List<string>(),
|
|
new TestSourceCacheContext(),
|
|
clientPolicyContext,
|
|
log,
|
|
new LockFileBuilderCache())
|
|
{
|
|
}
|
|
|
|
public TestRestoreRequest(
|
|
PackageSpec project,
|
|
IEnumerable<PackageSource> sources,
|
|
string packagesDirectory,
|
|
SourceCacheContext cacheContext,
|
|
ILogger log)
|
|
: this(
|
|
project,
|
|
sources.Select(Repository.Factory.GetCoreV3).ToList(),
|
|
packagesDirectory,
|
|
[],
|
|
cacheContext,
|
|
ClientPolicyContext.GetClientPolicy(NullSettings.Instance, log),
|
|
log,
|
|
new LockFileBuilderCache())
|
|
{
|
|
}
|
|
|
|
public TestRestoreRequest(
|
|
PackageSpec project,
|
|
IEnumerable<PackageSource> sources,
|
|
string packagesDirectory,
|
|
IEnumerable<string> fallbackPackageFolders,
|
|
ILogger log)
|
|
: this(
|
|
project,
|
|
sources.Select(Repository.Factory.GetCoreV3).ToList(),
|
|
packagesDirectory,
|
|
fallbackPackageFolders,
|
|
new TestSourceCacheContext(),
|
|
ClientPolicyContext.GetClientPolicy(NullSettings.Instance, log),
|
|
log,
|
|
new LockFileBuilderCache())
|
|
{
|
|
}
|
|
|
|
public TestRestoreRequest(
|
|
PackageSpec project,
|
|
IReadOnlyList<SourceRepository> sources,
|
|
string packagesDirectory,
|
|
IEnumerable<string> fallbackPackageFolders,
|
|
ILogger log) : this(
|
|
project,
|
|
sources,
|
|
packagesDirectory,
|
|
fallbackPackageFolders,
|
|
new TestSourceCacheContext(),
|
|
ClientPolicyContext.GetClientPolicy(NullSettings.Instance, log),
|
|
log,
|
|
new LockFileBuilderCache())
|
|
{
|
|
}
|
|
|
|
public TestRestoreRequest(
|
|
PackageSpec project,
|
|
IEnumerable<PackageSource> sources,
|
|
string packagesDirectory,
|
|
SourceCacheContext cacheContext,
|
|
PackageSourceMapping packageSourceMappingConfiguration,
|
|
ILogger log,
|
|
IReadOnlyList<SourceRepository>? auditSources = null) : base(
|
|
project,
|
|
new RestoreCommandProvidersCache().GetOrCreate(
|
|
packagesDirectory,
|
|
Array.Empty<string>(),
|
|
packageSources: sources.Select(Repository.Factory.GetCoreV3).ToList(),
|
|
auditSources: auditSources ?? Array.Empty<SourceRepository>(),
|
|
cacheContext: cacheContext,
|
|
log: log,
|
|
updateLastAccess: false,
|
|
environmentVariableReader: TestEnvironmentVariableReader.EmptyInstance),
|
|
cacheContext,
|
|
ClientPolicyContext.GetClientPolicy(NullSettings.Instance, log),
|
|
packageSourceMappingConfiguration,
|
|
log,
|
|
new LockFileBuilderCache())
|
|
{
|
|
EnvironmentVariableReader = TestEnvironmentVariableReader.EmptyInstance;
|
|
}
|
|
|
|
public TestRestoreRequest(
|
|
PackageSpec project,
|
|
IReadOnlyList<SourceRepository> sources,
|
|
string packagesDirectory,
|
|
IEnumerable<string> fallbackPackageFolders,
|
|
SourceCacheContext cacheContext,
|
|
ClientPolicyContext clientPolicyContext,
|
|
ILogger log,
|
|
LockFileBuilderCache lockFileBuilderCache) : base(
|
|
project,
|
|
new RestoreCommandProvidersCache().GetOrCreate(
|
|
packagesDirectory,
|
|
fallbackPackagesPaths: fallbackPackageFolders.ToList(),
|
|
packageSources: sources,
|
|
auditSources: Array.Empty<SourceRepository>(),
|
|
cacheContext: cacheContext,
|
|
log: log,
|
|
updateLastAccess: false,
|
|
environmentVariableReader: TestEnvironmentVariableReader.EmptyInstance),
|
|
cacheContext,
|
|
clientPolicyContext,
|
|
packageSourceMapping: PackageSourceMapping.GetPackageSourceMapping(NullSettings.Instance),
|
|
log,
|
|
lockFileBuilderCache)
|
|
{
|
|
// We need the dependency graph spec to go through the proper no-op code paths
|
|
DependencyGraphSpec = new DependencyGraphSpec();
|
|
DependencyGraphSpec.AddProject(project);
|
|
DependencyGraphSpec.AddRestore(project.RestoreMetadata.ProjectUniqueName);
|
|
AllowNoOp = true;
|
|
EnvironmentVariableReader = TestEnvironmentVariableReader.EmptyInstance;
|
|
}
|
|
}
|
|
}
|