1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-17 20:47:50 +02:00

refactor: optimize strings replacers (#4788)

Reuse strings replace instead of recreation
This commit is contained in:
Stepan Rabotkin 2024-04-17 02:56:45 +03:00 committed by GitHub
parent 56e0f79473
commit d5fc94a81d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 38 additions and 33 deletions

View File

@ -19,15 +19,17 @@ func Notice(ctx *context.Context, property string) {
NoticeCustom(ctx, property, "{{ .Property }} should not be used anymore, check {{ .URL }} for more info")
}
var urlPropertyReplacer = strings.NewReplacer(
".", "",
"_", "",
":", "",
" ", "-",
)
// NoticeCustom warns the user about the deprecation of the given property.
func NoticeCustom(ctx *context.Context, property, tmpl string) {
// replaces . and _ with -
url := baseURL + strings.NewReplacer(
".", "",
"_", "",
":", "",
" ", "-",
).Replace(property)
url := baseURL + urlPropertyReplacer.Replace(property)
var out bytes.Buffer
if err := template.
Must(template.New("deprecation").Parse("DEPRECATED: "+tmpl)).

View File

@ -167,6 +167,12 @@ func isSupportedArchlinuxArch(arch, arm string) bool {
return false
}
var termuxArchReplacer = strings.NewReplacer(
"386", "i686",
"amd64", "x86_64",
"arm64", "aarch64",
)
func create(ctx *context.Context, fpm config.NFPM, format string, artifacts []*artifact.Artifact) error {
// TODO: improve mips handling on nfpm
infoArch := artifacts[0].Goarch + artifacts[0].Goarm + artifacts[0].Gomips // key used for the ConventionalFileName et al
@ -193,13 +199,8 @@ func create(ctx *context.Context, fpm config.NFPM, format string, artifacts []*a
return nil
}
replacer := strings.NewReplacer(
"386", "i686",
"amd64", "x86_64",
"arm64", "aarch64",
)
infoArch = replacer.Replace(infoArch)
arch = replacer.Replace(arch)
infoArch = termuxArchReplacer.Replace(infoArch)
arch = termuxArchReplacer.Replace(arch)
fpm.Bindir = termuxPrefixedDir(fpm.Bindir)
fpm.Libdirs.Header = termuxPrefixedDir(fpm.Libdirs.Header)
fpm.Libdirs.CArchive = termuxPrefixedDir(fpm.Libdirs.CArchive)

View File

@ -343,27 +343,29 @@ func filter(reverse bool) func(content, exp string) string {
}
}
var mdv2EscapeReplacer = strings.NewReplacer(
"_", "\\_",
"*", "\\*",
"[", "\\[",
"]", "\\]",
"(", "\\(",
")", "\\)",
"~", "\\~",
"`", "\\`",
">", "\\>",
"#", "\\#",
"+", "\\+",
"-", "\\-",
"=", "\\=",
"|", "\\|",
"{", "\\{",
"}", "\\}",
".", "\\.",
"!", "\\!",
)
func mdv2Escape(s string) string {
return strings.NewReplacer(
"_", "\\_",
"*", "\\*",
"[", "\\[",
"]", "\\]",
"(", "\\(",
")", "\\)",
"~", "\\~",
"`", "\\`",
">", "\\>",
"#", "\\#",
"+", "\\+",
"-", "\\-",
"=", "\\=",
"|", "\\|",
"{", "\\{",
"}", "\\}",
".", "\\.",
"!", "\\!",
).Replace(s)
return mdv2EscapeReplacer.Replace(s)
}
func makemap(kvs ...string) (map[string]string, error) {