dotnet-installer/src/Microsoft.DotNet.ProjectModel/Compilation/LibraryExport.cs

67 lines
2.5 KiB
C#
Raw Normal View History

// 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;
2015-11-01 16:21:10 -08:00
using System.Diagnostics;
namespace Microsoft.DotNet.ProjectModel.Compilation
{
2015-11-01 16:21:10 -08:00
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class LibraryExport
{
/// <summary>
/// Gets the library that produced this export
/// </summary>
public LibraryDescription Library { get; }
/// <summary>
/// Gets a list of fully-qualified paths to MSIL binaries required to run
/// </summary>
public IEnumerable<LibraryAsset> RuntimeAssemblies { get; }
/// <summary>
/// Non assembly runtime assets.
/// </summary>
2016-02-03 10:57:25 -08:00
public IEnumerable<LibraryAsset> RuntimeAssets { get; }
/// <summary>
/// Gets a list of fully-qualified paths to native binaries required to run
/// </summary>
public IEnumerable<LibraryAsset> NativeLibraries { get; }
/// <summary>
/// Gets a list of fully-qualified paths to MSIL metadata references
/// </summary>
public IEnumerable<LibraryAsset> CompilationAssemblies { get; }
/// <summary>
/// Gets a list of fully-qualified paths to source code file references
/// </summary>
public IEnumerable<string> SourceReferences { get; }
/// <summary>
/// Get a list of analyzers provided by this export.
/// </summary>
public IEnumerable<AnalyzerReference> AnalyzerReferences { get; }
public LibraryExport(LibraryDescription library,
IEnumerable<LibraryAsset> compileAssemblies,
IEnumerable<string> sourceReferences,
IEnumerable<LibraryAsset> runtimeAssemblies,
2016-02-03 10:57:25 -08:00
IEnumerable<LibraryAsset> runtimeAssets,
IEnumerable<LibraryAsset> nativeLibraries,
IEnumerable<AnalyzerReference> analyzers)
{
Library = library;
CompilationAssemblies = compileAssemblies;
SourceReferences = sourceReferences;
RuntimeAssemblies = runtimeAssemblies;
RuntimeAssets = runtimeAssets;
NativeLibraries = nativeLibraries;
AnalyzerReferences = analyzers;
}
2015-11-01 16:21:10 -08:00
private string DebuggerDisplay => Library.Identity.ToString();
}
}