Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Fargher <proglottis@gmail.com>2023-03-20 22:48:25 +0300
committerJames Fargher <proglottis@gmail.com>2023-03-20 22:48:25 +0300
commit902f1f365fd2f0c8e190accdb092d533cc4692a9 (patch)
treef579f87c2cead724ae765f6b36b2caeb218a9415 /tools/module-updater/main.go
parent5338468e55ae2bd6eba6ddc6021e160854348f2b (diff)
parentaa269afa0b3f37c13fb41da668c9b5f9e2635104 (diff)
Merge branch 'cleanup_module-updater' into 'master'
Easier major version upgrades Closes #4894 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5505 Merged-by: James Fargher <proglottis@gmail.com> Approved-by: Sami Hiltunen <shiltunen@gitlab.com> Reviewed-by: Sami Hiltunen <shiltunen@gitlab.com> Co-authored-by: James Fargher <jfargher@gitlab.com>
Diffstat (limited to 'tools/module-updater/main.go')
-rw-r--r--tools/module-updater/main.go60
1 files changed, 31 insertions, 29 deletions
diff --git a/tools/module-updater/main.go b/tools/module-updater/main.go
index 608980d4c..f2a51afc4 100644
--- a/tools/module-updater/main.go
+++ b/tools/module-updater/main.go
@@ -161,48 +161,50 @@ func rewriteImports(moduleAbsRootPath, prev, next string) error {
}
seen[file.Name()] = struct{}{}
- astFile, err := parser.ParseFile(fileSet, file.Name(), nil, parser.ParseComments)
- if err != nil {
+ if err := rewriteFileImports(fileSet, file.Name(), prev, next); err != nil {
rerr = err
return false
}
- for _, imprt := range astFile.Imports {
- oldImport, err := strconv.Unquote(imprt.Path.Value)
- if err != nil {
- rerr = fmt.Errorf("unquote import: %s :%w", imprt.Path.Value, err)
- return false
- }
+ return true
+ })
- if newImport := strings.Replace(oldImport, prev, next, 1); newImport != oldImport {
- imprt.EndPos = imprt.End()
- imprt.Path.Value = strconv.Quote(newImport)
- }
- }
+ return rerr
+}
+
+func rewriteFileImports(fileSet *token.FileSet, filename, prev, next string) (retErr error) {
+ astFile, err := parser.ParseFile(fileSet, filename, nil, parser.ParseComments)
+ if err != nil {
+ return err
+ }
- f, err := os.Create(file.Name())
+ for _, imprt := range astFile.Imports {
+ oldImport, err := strconv.Unquote(imprt.Path.Value)
if err != nil {
- rerr = fmt.Errorf("open file %q: %w", file.Name(), err)
- return false
+ return fmt.Errorf("unquote import: %s :%w", imprt.Path.Value, err)
}
- ferr := format.Node(f, fileSet, astFile)
- cerr := f.Close()
-
- if ferr != nil {
- rerr = fmt.Errorf("rewrite file %q: %w", file.Name(), err)
- return false
+ if newImport := strings.Replace(oldImport, prev, next, 1); newImport != oldImport {
+ imprt.EndPos = imprt.End()
+ imprt.Path.Value = strconv.Quote(newImport)
}
+ }
- if cerr != nil {
- rerr = fmt.Errorf("close file %q: %w", file.Name(), err)
- return false
+ f, err := os.Create(filename)
+ if err != nil {
+ return fmt.Errorf("open file %q: %w", filename, err)
+ }
+ defer func() {
+ if err := f.Close(); retErr == nil && err != nil {
+ retErr = fmt.Errorf("close file %q: %w", filename, err)
}
+ }()
- return true
- })
+ if err := format.Node(f, fileSet, astFile); err != nil {
+ return fmt.Errorf("rewrite file %q: %w", filename, err)
+ }
- return rerr
+ return nil
}
func normaliseDesiredImportReplacement(module, from, to string) (string, string, error) {
@@ -289,7 +291,7 @@ func rewriteProto(moduleAbsRootPath, prev, next string) error {
for _, line := range lines {
tokens := bytes.Fields(line)
pckg := bytes.Join(tokens, []byte{'~'})
- if !bytes.HasPrefix(pckg, []byte(`option~go_package~=~"`+prev+`/proto/go/gitalypb";`)) {
+ if !bytes.HasPrefix(pckg, []byte(`option~go_package~=~"`+prev+`/proto/`)) {
modified = append(modified, line)
continue
}