File: IPackTaskRequest.cs
Web Access
Project: src\src\nuget-client\src\NuGet.Core\NuGet.Build.Tasks.Pack\NuGet.Build.Tasks.Pack.csproj (NuGet.Build.Tasks.Pack)
// 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 Microsoft.Build.Framework;
using NuGet.Commands;
using ILogger = NuGet.Common.ILogger;

namespace NuGet.Build.Tasks.Pack
{
    /// <summary>
    /// All of the properties provided by MSBuild to execute pack.
    /// </summary>
    /// <typeparam name="TItem">
    /// The item type. This will either be <see cref="ITaskItem"/> or a <see cref="IMSBuildItem"/>.
    /// </typeparam>
    public interface IPackTaskRequest<TItem>
    {
        string[] AllowedOutputExtensionsInPackageBuildOutputFolder { get; }
        string[] AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder { get; }
        string AssemblyName { get; }
        string[] Authors { get; }
        TItem[] BuildOutputInPackage { get; }
        string[] BuildOutputFolders { get; }
        string[] ContentTargetFolders { get; }
        bool ContinuePackingAfterGeneratingNuspec { get; }
        string Copyright { get; }
        string Description { get; }
        bool DevelopmentDependency { get; }
        TItem[] FrameworkAssemblyReferences { get; }
        TItem[] FrameworksWithSuppressedDependencies { get; }
        string IconUrl { get; }
        bool IncludeBuildOutput { get; }
        bool IncludeSource { get; }
        bool IncludeSymbols { get; }
        bool InstallPackageToOutputPath { get; }
        bool IsTool { get; }
        string LicenseUrl { get; }
        ILogger Logger { get; }
        string MinClientVersion { get; }
        bool NoDefaultExcludes { get; }
        bool NoPackageAnalysis { get; }
        string NoWarn { get; }
        string NuspecBasePath { get; }
        string NuspecFile { get; }
        string[] NuspecProperties { get; }
        string NuspecOutputPath { get; }
        bool OutputFileNamesWithoutVersion { get; }
        TItem[] PackageFiles { get; }
        TItem[] PackageFilesToExclude { get; }
        string PackageId { get; }
        string PackageOutputPath { get; }
        string[] PackageTypes { get; }
        string PackageVersion { get; }
        TItem PackItem { get; }
        TItem[] ProjectReferencesWithVersions { get; }
        string ProjectUrl { get; }
        string ReleaseNotes { get; }
        string RepositoryType { get; }
        string RepositoryUrl { get; }
        string RepositoryBranch { get; }
        string RepositoryCommit { get; }
        bool RequireLicenseAcceptance { get; }
        string RestoreOutputPath { get; }
        bool Serviceable { get; }
        TItem[] SourceFiles { get; }
        string SymbolPackageFormat { get; }
        string[] Tags { get; }
        string[] TargetFrameworks { get; }
        TItem[] TargetPathsToSymbols { get; }
        string Title { get; }
        string TreatWarningsAsErrors { get; }
        string WarningsAsErrors { get; }
        string WarningsNotAsErrors { get; }
        string PackageLicenseExpression { get; }
        string PackageLicenseExpressionVersion { get; }
        string PackageLicenseFile { get; }
        string Readme { get; }
        bool Deterministic { get; }
        string DeterministicTimestamp { get; }
        string PackageIcon { get; }
    }
}