private void HandleChangesForRule( IProjectChangeDescription projectChange, DependenciesRuleChangeContext ruleChangeContext, ITargetFramework targetFramework, bool resolved, HashSet <string> unresolvedChanges = null) { Requires.NotNull(targetFramework, nameof(targetFramework)); foreach (string removedItem in projectChange.Difference.RemovedItems) { if (PackageDependencyMetadata.TryGetMetadata( removedItem, resolved, properties: projectChange.Before.GetProjectItemProperties(removedItem), unresolvedChanges, targetFramework, TargetFrameworkProvider, out PackageDependencyMetadata metadata)) { ruleChangeContext.IncludeRemovedChange(targetFramework, ProviderTypeString, metadata.OriginalItemSpec); } } foreach (string changedItem in projectChange.Difference.ChangedItems) { if (PackageDependencyMetadata.TryGetMetadata( changedItem, resolved, properties: projectChange.After.GetProjectItemProperties(changedItem), unresolvedChanges, targetFramework, TargetFrameworkProvider, out PackageDependencyMetadata metadata)) { ruleChangeContext.IncludeRemovedChange(targetFramework, ProviderTypeString, metadata.OriginalItemSpec); ruleChangeContext.IncludeAddedChange(targetFramework, metadata.CreateDependencyModel()); } } foreach (string addedItem in projectChange.Difference.AddedItems) { if (PackageDependencyMetadata.TryGetMetadata( addedItem, resolved, properties: projectChange.After.GetProjectItemProperties(addedItem), unresolvedChanges, targetFramework, TargetFrameworkProvider, out PackageDependencyMetadata metadata)) { ruleChangeContext.IncludeAddedChange(targetFramework, metadata.CreateDependencyModel()); } } }
private void HandleChangesForRule( IProjectChangeDescription projectChange, DependenciesRuleChangeContext ruleChangeContext, ITargetFramework targetFramework, bool resolved, HashSet <string> unresolvedChanges = null) { Requires.NotNull(targetFramework, nameof(targetFramework)); if (targetFramework == null) { return; } foreach (string removedItem in projectChange.Difference.RemovedItems) { IImmutableDictionary <string, string> properties = GetProjectItemProperties(projectChange.Before, removedItem); IDependencyModel model = GetDependencyModel(removedItem, resolved, properties, projectChange, unresolvedChanges, targetFramework); if (model == null) { continue; } ruleChangeContext.IncludeRemovedChange(targetFramework, model); } foreach (string changedItem in projectChange.Difference.ChangedItems) { IImmutableDictionary <string, string> properties = GetProjectItemProperties(projectChange.After, changedItem); IDependencyModel model = GetDependencyModel(changedItem, resolved, properties, projectChange, unresolvedChanges, targetFramework); if (model == null) { continue; } ruleChangeContext.IncludeRemovedChange(targetFramework, model); ruleChangeContext.IncludeAddedChange(targetFramework, model); } foreach (string addedItem in projectChange.Difference.AddedItems) { IImmutableDictionary <string, string> properties = GetProjectItemProperties(projectChange.After, addedItem); IDependencyModel model = GetDependencyModel(addedItem, resolved, properties, projectChange, unresolvedChanges, targetFramework); if (model == null) { continue; } ruleChangeContext.IncludeAddedChange(targetFramework, model); } }