mirror of https://github.com/go-gitea/gitea
Git with a cup of tea, painless self-hosted git service
Mirror for internal git.with.parts use
https://git.with.parts
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
740 B
41 lines
740 B
// Copyright 2024 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package license
|
|
|
|
import "strings"
|
|
|
|
func GetLicenseNameFromAliases(fnl []string) string {
|
|
if len(fnl) == 0 {
|
|
return ""
|
|
}
|
|
|
|
shortestItem := func(list []string) string {
|
|
s := list[0]
|
|
for _, l := range list[1:] {
|
|
if len(l) < len(s) {
|
|
s = l
|
|
}
|
|
}
|
|
return s
|
|
}
|
|
allHasPrefix := func(list []string, s string) bool {
|
|
for _, l := range list {
|
|
if !strings.HasPrefix(l, s) {
|
|
return false
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
|
|
sl := shortestItem(fnl)
|
|
slv := strings.Split(sl, "-")
|
|
var result string
|
|
for i := len(slv); i >= 0; i-- {
|
|
result = strings.Join(slv[:i], "-")
|
|
if allHasPrefix(fnl, result) {
|
|
return result
|
|
}
|
|
}
|
|
return ""
|
|
}
|
|
|