/// <summary> /// Compares two <see cref="AssemblyFamily"/> instances and returns the breaking changes introduced in the newer assemblies if their /// associated older versions exist in the <paramref name="oldFamily"/>. /// </summary> public static List <BreakingChangeBase> CompareAssemblyFamilies(AssemblyFamily oldFamily, AssemblyFamily newFamily) { var breakingChanges = new List <BreakingChangeBase>(); foreach (var oldAssembly in oldFamily) { var newAssembly = newFamily.GetEquivalentAssembly(oldAssembly); if (newAssembly == null) { breakingChanges.Add(new RemovedAssembly(oldAssembly)); } else { breakingChanges.AddRange(MetadataComparer.CompareAssemblies(oldAssembly, newAssembly, newFamily)); } } return(breakingChanges); }
/// <summary> /// Compares two associated <see cref="AssemblyData"/> instances and returns the breaking changes introduced in the newer version of /// the assembly. /// </summary> public static List <BreakingChangeBase> CompareAssemblies(AssemblyData oldAssembly, AssemblyData newAssembly) { return(MetadataComparer.CompareAssemblies(oldAssembly, newAssembly, new AssemblyFamily { newAssembly })); }