|
// 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.
#nullable disable
using System.Collections.Generic;
using NuGet.Client;
using NuGet.DependencyResolver;
using NuGet.Frameworks;
using NuGet.LibraryModel;
using NuGet.RuntimeModel;
namespace NuGet.Commands
{
public interface IRestoreTargetGraph
{
/// <summary>
/// Gets the target graph name.
/// The target graph name is two parts; the first part, when there is an alias this is the alias name; otherwise, it's the framework name
/// For the second part, when there is a runtime identifier, this is a `/` followed by the runtime identifier; otherwise, it's empty.
/// </summary>
string TargetGraphName { get; }
/// <summary>
/// Gets the target alias used during the restore operation on this graph
/// </summary>
public string TargetAlias { get; }
/// <summary>
/// Gets the runtime identifier used during the restore operation on this graph
/// </summary>
string RuntimeIdentifier { get; }
/// <summary>
/// Gets the <see cref="NuGetFramework" /> used during the restore operation on this graph
/// </summary>
NuGetFramework Framework { get; }
/// <summary>
/// Gets the <see cref="ManagedCodeConventions" /> used to resolve assets from packages in this graph
/// </summary>
ManagedCodeConventions Conventions { get; }
/// <summary>
/// Gets the <see cref="RuntimeGraph" /> that defines runtimes and their relationships for this graph
/// </summary>
RuntimeGraph RuntimeGraph { get; }
/// <summary>
/// Gets the resolved dependency graph
/// </summary>
IEnumerable<GraphNode<RemoteResolveResult>> Graphs { get; }
ISet<RemoteMatch> Install { get; }
ISet<GraphItem<RemoteResolveResult>> Flattened { get; }
ISet<LibraryRange> Unresolved { get; }
bool InConflict { get; }
IEnumerable<ResolverConflict> Conflicts { get; }
AnalyzeResult<RemoteResolveResult> AnalyzeResult { get; }
ISet<ResolvedDependencyKey> ResolvedDependencies { get; }
}
}
|