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