dotnet-installer/src/Microsoft.DotNet.ProjectModel/ProjectDescription.cs
2016-02-09 08:52:59 -08:00

58 lines
2.1 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.
using System.Collections.Generic;
using System.Linq;
using Microsoft.DotNet.ProjectModel.Graph;
namespace Microsoft.DotNet.ProjectModel
{
public class ProjectDescription : LibraryDescription
{
// Create an unresolved project description
public ProjectDescription(string name, string path)
: base(
new LibraryIdentity(name, LibraryType.Project),
string.Empty, // Projects don't have hashes
path,
Enumerable.Empty<LibraryRange>(),
framework: null,
resolved: false,
compatible: false)
{ }
public ProjectDescription(
LibraryRange libraryRange,
Project project,
IEnumerable<LibraryRange> dependencies,
TargetFrameworkInformation targetFrameworkInfo,
bool resolved) :
base(
new LibraryIdentity(project.Name, project.Version, LibraryType.Project),
string.Empty, // Projects don't have hashes
project.ProjectFilePath,
dependencies,
targetFrameworkInfo.FrameworkName,
resolved,
compatible: true)
{
Project = project;
TargetFrameworkInfo = targetFrameworkInfo;
}
public Project Project { get; }
public TargetFrameworkInformation TargetFrameworkInfo { get; }
public OutputPaths GetOutputPaths(string buildBasePath, string solutionRootPath, string configuration, string runtime)
{
return OutputPathsCalculator.GetOutputPaths(Project,
Framework,
runtimeIdentifier: runtime,
configuration: configuration,
solutionRootPath: solutionRootPath,
buildBasePath: buildBasePath,
outputPath: null);
}
}
}