in internal/changelog/renderer.go [200:235]
func buildTitleByComponents(entries []Entry) string {
configComponents := viper.GetStringSlice("components")
switch len(configComponents) {
case 0:
return ""
case 1:
c := configComponents[0]
for _, e := range entries {
if c != e.Component && len(e.Component) > 0 {
log.Fatalf("Component [%s] not found in config", e.Component)
}
}
return c
default:
var match string
for _, e := range entries {
if e.Component == "" {
log.Fatalf("Component cannot be assumed, choose it from config values: %s", e.File.Name)
}
match = ""
for _, c := range configComponents {
if e.Component != c {
continue
}
match = e.Component
}
if match == "" {
log.Fatalf("Component [%s] not found in config", e.Component)
}
}
return match
}
}