snapshot of https://github.com/sqlc-dev/sqlc.git (main, 2026-09-16; blobs > 131072B omitted)
Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
This commit is contained in:
150
scripts/bump-version/main.go
Normal file
150
scripts/bump-version/main.go
Normal file
@@ -0,0 +1,150 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
)
|
||||
|
||||
func main() {
|
||||
curr := flag.String("c", "", "current version")
|
||||
next := flag.String("n", "", "next version")
|
||||
write := flag.Bool("w", false, "write out changes")
|
||||
flag.Parse()
|
||||
if err := run(*curr, *next, *write); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func run(current, next string, realmode bool) error {
|
||||
write := func(path, old, new string) error {
|
||||
if realmode {
|
||||
if err := os.WriteFile(path, []byte(new), 0644); err != nil {
|
||||
return fmt.Errorf("write error: %s: %w", path, err)
|
||||
}
|
||||
} else {
|
||||
if diff := cmp.Diff(old, new); diff != "" {
|
||||
log.Printf("%s: %s\n", path, diff)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
{
|
||||
path := filepath.Join(".github", "ISSUE_TEMPLATE", "BUG_REPORT.yml")
|
||||
c, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
old := string(c)
|
||||
if !strings.Contains(old, "- "+next) {
|
||||
item := "- " + current
|
||||
new := strings.ReplaceAll(old, item, "- "+next+"\n "+item)
|
||||
if err := write(path, old, new); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
path := filepath.Join("docs", "overview", "install.md")
|
||||
c, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
old := string(c)
|
||||
new := strings.ReplaceAll(old, "v"+current, "v"+next)
|
||||
new = strings.ReplaceAll(new, "sqlc_"+current, "sqlc_"+next)
|
||||
if err := write(path, old, new); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
path := filepath.Join("internal", "info", "facts.go")
|
||||
c, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
old := string(c)
|
||||
new := strings.ReplaceAll(old, "v"+current, "v"+next)
|
||||
if err := write(path, old, new); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
path := filepath.Join("docs", "conf.py")
|
||||
c, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
old := string(c)
|
||||
new := strings.ReplaceAll(old, "release = '"+current, "release = '"+next)
|
||||
if err := write(path, old, new); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
walker := func(path string, info fs.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
switch filepath.Ext(path) {
|
||||
case ".go", ".kt", ".py", ".json", ".md":
|
||||
c, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
old := string(c)
|
||||
new := strings.ReplaceAll(old,
|
||||
`"sqlc_version": "v`+current,
|
||||
`"sqlc_version": "v`+next)
|
||||
new = strings.ReplaceAll(new,
|
||||
`sqlc-version: "`+current,
|
||||
`sqlc-version: "`+next)
|
||||
new = strings.ReplaceAll(new,
|
||||
`sqlc-version: '`+current,
|
||||
`sqlc-version: '`+next)
|
||||
new = strings.ReplaceAll(new, "sqlc v"+current, "sqlc v"+next)
|
||||
new = strings.ReplaceAll(new, "SQLC_VERSION=v"+current, "SQLC_VERSION=v"+next)
|
||||
if err := write(path, old, new); err != nil {
|
||||
return err
|
||||
}
|
||||
default:
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
{
|
||||
p := filepath.Join("internal", "endtoend", "testdata")
|
||||
if err := filepath.Walk(p, walker); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
p := filepath.Join("examples")
|
||||
if err := filepath.Walk(p, walker); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
p := filepath.Join("docs")
|
||||
if err := filepath.Walk(p, walker); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user