MCPcopy Create free account
hub / github.com/docker/secrets-engine / BumpModInFile

Method BumpModInFile

x/release/command.go:97–143  ·  view source on GitHub ↗
(filename, mod, version string)

Source from the content-addressed store, hash-verified

95}
96
97func (m projectFS) BumpModInFile(filename, mod, version string) (bool, error) {
98 modFileData, err := os.ReadFile(filename)
99 if err != nil {
100 return false, err
101 }
102 f, err := modfile.Parse(filename, modFileData, nil)
103 if err != nil {
104 return false, err
105 }
106 base, err := getModBase(f.Module.Mod.Path)
107 if err != nil {
108 return false, err
109 }
110 mod = base + "/" + mod
111 needsAction := false
112 for _, require := range f.Require {
113 if require.Indirect {
114 continue
115 }
116 if strings.HasPrefix(require.Mod.Path, mod) {
117 oldVersion := require.Mod.Version
118 require.Mod.Version = version
119 needsAction = true
120 m.logger.Printf("[%s] Bumping %s: %s -> %s", filename, mod, oldVersion, version)
121 break
122 }
123 }
124
125 if !needsAction {
126 return needsAction, nil
127 }
128 f.SetRequire(f.Require)
129 out, err := f.Format()
130 if err != nil {
131 return needsAction, err
132 }
133
134 if m.dryRun {
135 return needsAction, nil
136 }
137
138 perm := fs.FileMode(0o644)
139 if fi, err := os.Stat(filename); err == nil {
140 perm = fi.Mode().Perm()
141 }
142 return needsAction, os.WriteFile(filename, out, perm)
143}
144
145func (m projectFS) GitTag(ctx context.Context, tag string) error {
146 var prefix string

Callers

nothing calls this directly

Calls 2

getModBaseFunction · 0.85
PrintfMethod · 0.65

Tested by

no test coverage detected