in breakingchange.go [50:73]
func CompareTwoModules(dir1 string, dir2 string) (string, error) {
fs := afero.Afero{Fs: afero.OsFs{}}
oldModule, err := NewModule(dir1, fs)
if err != nil {
return "", err
}
currentModule, err := NewModule(dir2, fs)
if err != nil {
return "", err
}
changes, err := BreakingChanges(oldModule, currentModule)
if err != nil {
return "", err
}
aggregated := linq.From(changes).Select(func(i interface{}) interface{} {
return i.(Change).ToString()
}).Aggregate(func(i interface{}, i2 interface{}) interface{} {
return fmt.Sprintf("%v\n%v", i, i2)
})
if r, ok := aggregated.(string); ok {
return r, nil
}
return "", nil
}