From dc1110e30c9896f6ee4e675a5fb02d4882d0f0d3 Mon Sep 17 00:00:00 2001 From: Alex Bezzubov Date: Fri, 22 Sep 2023 14:58:53 +0200 Subject: [PATCH] LanguagesByFilename: fix language order in generated code Otherwise, generator tests are flaky test plan * make code-generate * go test -run '^TestGetLanguagesByFilename$' github.com/go-enry/go-enry/v2 --- data/filename.go | 4 ++-- internal/code-generator/generator/filenames.go | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/data/filename.go b/data/filename.go index 88725b8..92a908e 100644 --- a/data/filename.go +++ b/data/filename.go @@ -157,7 +157,7 @@ var LanguagesByFilename = map[string][]string{ "Gemfile.lock": {"Gemfile.lock"}, "Gopkg.lock": {"TOML"}, "Guardfile": {"Ruby"}, - "HOSTS": {"INI", "Hosts File"}, + "HOSTS": {"Hosts File", "INI"}, "INSTALL": {"Text"}, "INSTALL.mysql": {"Text"}, "JUSTFILE": {"Just"}, @@ -277,7 +277,7 @@ var LanguagesByFilename = map[string][]string{ "gradlew": {"Shell"}, "gvimrc": {"Vim Script"}, "haproxy.cfg": {"HAProxy"}, - "hosts": {"INI", "Hosts File"}, + "hosts": {"Hosts File", "INI"}, "httpd.conf": {"ApacheConf"}, "initial_sids": {"SELinux Policy"}, "inputrc": {"Readline Config"}, diff --git a/internal/code-generator/generator/filenames.go b/internal/code-generator/generator/filenames.go index 79ad843..6bd52b4 100644 --- a/internal/code-generator/generator/filenames.go +++ b/internal/code-generator/generator/filenames.go @@ -6,6 +6,7 @@ import ( "io/ioutil" "os" "path/filepath" + "sort" "strings" "text/template" @@ -91,7 +92,10 @@ func buildFilenameLanguageMap(languages map[string]*languageInfo) map[string][]s func executeFilenamesTemplate(out io.Writer, languagesByFilename map[string][]string, tmplPath, tmplName, commit string) error { fmap := template.FuncMap{ - "formatStringSlice": func(slice []string) string { return `"` + strings.Join(slice, `","`) + `"` }, + "formatStringSlice": func(slice []string) string { + sort.Strings(slice) + return `"` + strings.Join(slice, `","`) + `"` + }, } return executeTemplate(out, tmplName, tmplPath, commit, fmap, languagesByFilename) }