private bool IsPackageTrimmable(NuGetPackageNode package) { return(TreatAllPackagesAsTrimmable || trimmable.IsPackageTrimmable(package.Id) || (TreatMetaPackagesAsTrimmable && package.IsMetaPackage) || (TreatMultiPackagesAsTrimmable && package.IsMultiPackage && package.Files.Any(f => !f.IsIncluded))); }
private static NuGetPackageNode GetOrCreatePackageNode(IDictionary <string, NuGetPackageNode> packages, string package) { string id, version; GetPackageIdAndVersion(package, out id, out version); NuGetPackageNode node; if (!packages.TryGetValue(id, out node)) { packages[id] = node = new NuGetPackageNode(id, version); } return(node); }
public void AddDependency(NuGetPackageNode dependencyNode) { _dependencies.Add(dependencyNode); // Runtime packages may be brought in by a file-based dependency, // but runtime packages may be missing the dependencies needed since those are // often declared by the idenity package since it is in the compile graph // and capable of bringing in other runtime-split packages. // Map back up to the identity package so that we can root it and its dependencies. // This creates an artificial cycle, but our graph walk doesn't care about cycles. if (dependencyNode.IsRuntimePackage) { dependencyNode._dependencies.Add(this); } }
private bool IsPackageTrimmable(NuGetPackageNode package) { return(trimmable.IsPackageTrimmable(package.Id) || (TreatMetaPackagesAsTrimmable && package.IsMetaPackage)); }
private void IncludeNode(Queue <NuGetPackageNode> queue, NuGetPackageNode child, NuGetPackageNode parent) { Log.LogMessage(MessageImportance.Low, $"Including package {child} referenced by package {parent}."); QueueNode(queue, child); }
private void IncludeNode(Queue <FileNode> queue, FileNode child, NuGetPackageNode parent) { Log.LogMessage(MessageImportance.Low, $"Including file {child} part of package {parent}."); QueueNode(queue, child); }
private void IncludeNode(Queue <NuGetPackageNode> queue, NuGetPackageNode child, FileNode parent) { Log.LogMessage(MessageImportance.Low, $"Including package {child} since it contains file {parent}."); QueueNode(queue, child); }
private void IncludeRoot(Queue <NuGetPackageNode> queue, NuGetPackageNode root) { Log.LogMessage(MessageImportance.Low, $"Including root package {root}."); QueueNode(queue, root); }
private static string GetPackageId(NuGetPackageNode package) { return("p:" + package.Id); }