예제 #1
0
        public static string GetOutputFileName(string packageId, NuGetVersion version, bool isNupkg, bool symbols, SymbolPackageFormat symbolPackageFormat, bool excludeVersion = false)
        {
            // Output file is {id}.{version}
            var normalizedVersion = version.ToNormalizedString();
            var outputFile        = excludeVersion ? packageId : packageId + "." + normalizedVersion;

            var extension        = isNupkg ? NuGetConstants.PackageExtension : NuGetConstants.ManifestExtension;
            var symbolsExtension = isNupkg
                ? (symbolPackageFormat == SymbolPackageFormat.Snupkg ? NuGetConstants.SnupkgExtension : NuGetConstants.SymbolsExtension)
                : NuGetConstants.ManifestSymbolsExtension;

            // If this is a source package then add .symbols.nupkg to the package file name
            if (symbols)
            {
                outputFile += symbolsExtension;
            }
            else
            {
                outputFile += extension;
            }

            return(outputFile);
        }
예제 #2
0
 internal static void ExcludeFilesForSymbolPackage(ICollection <IPackageFile> files, SymbolPackageFormat symbolPackageFormat)
 {
     PathResolver.FilterPackageFiles(files, file => file.Path, _symbolPackageExcludes);
     if (symbolPackageFormat == SymbolPackageFormat.Snupkg)
     {
         var toRemove = files.Where(t => !string.Equals(Path.GetExtension(t.Path), ".pdb", StringComparison.OrdinalIgnoreCase)).ToList();
         foreach (var fileToRemove in toRemove)
         {
             files.Remove(fileToRemove);
         }
     }
 }