sanitizeVersion makes a version string safe for filenames.
(version string)
| 170 | |
| 171 | // sanitizeVersion makes a version string safe for filenames. |
| 172 | func sanitizeVersion(version string) string { |
| 173 | if version == "" { |
| 174 | return "" |
| 175 | } |
| 176 | var b strings.Builder |
| 177 | for _, r := range version { |
| 178 | switch { |
| 179 | case r >= 'a' && r <= 'z': |
| 180 | b.WriteRune(r) |
| 181 | case r >= 'A' && r <= 'Z': |
| 182 | b.WriteRune(r) |
| 183 | case r >= '0' && r <= '9': |
| 184 | b.WriteRune(r) |
| 185 | case r == '.' || r == '-' || r == '_': |
| 186 | b.WriteRune(r) |
| 187 | default: |
| 188 | b.WriteRune('_') |
| 189 | } |
| 190 | } |
| 191 | return b.String() |
| 192 | } |
| 193 | |
| 194 | // hashFile returns the SHA-256 hash of a file on disk. |
| 195 | func hashFile(path string) ([]byte, error) { |
searching dependent graphs…