Skip to content

Commit

Permalink
feat(cmd/go_code/version_bump): Use Git binary by default, add option…
Browse files Browse the repository at this point in the history
…al go-git
  • Loading branch information
ondrejsika committed May 17, 2024
1 parent 4831e40 commit c5e494e
Showing 1 changed file with 58 additions and 25 deletions.
83 changes: 58 additions & 25 deletions cmd/go_code/version_bump/version_bump.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package version_bump

import (
"log"
"os"

"github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing"
go_code_cmd "github.com/sikalabs/slu/cmd/go_code"
"github.com/sikalabs/slu/utils/exec_utils"

"github.com/spf13/cobra"
)

var CmdFlagVersion string
var CmdFlagNoCommit bool
var CmdFlagTag bool
var CmdFlagGoGit bool

var Cmd = &cobra.Command{
Use: "version-bump",
Expand All @@ -32,35 +36,58 @@ var Version string = "` + CmdFlagVersion + `"
return
}

r, err := git.PlainOpen(".")
if err != nil {
panic(err)
}
w, err := r.Worktree()
if err != nil {
panic(err)
}
_, err = w.Add("version/version.go")
if err != nil {
panic(err)
}
commit, _ := w.Commit("VERSION: "+CmdFlagVersion, &git.CommitOptions{})
_, err = r.CommitObject(commit)
if err != nil {
panic(err)
}
var r *git.Repository
var commit plumbing.Hash

if CmdFlagTag {
_, err := r.CreateTag(
CmdFlagVersion,
commit,
&git.CreateTagOptions{
Message: "VERSION: " + CmdFlagVersion,
},
)
if !CmdFlagGoGit {
err = exec_utils.ExecOut("git", "add", "version/version.go")
if err != nil {
log.Fatalln(err)
}
err = exec_utils.ExecOut("git", "commit", "-m", "VERSION: "+CmdFlagVersion)
if err != nil {
log.Fatalln(err)
}
} else {
r, err = git.PlainOpen(".")
if err != nil {
panic(err)
}
w, err := r.Worktree()
if err != nil {
panic(err)
}
_, err = w.Add("version/version.go")
if err != nil {
panic(err)
}
commit, _ = w.Commit("VERSION: "+CmdFlagVersion, &git.CommitOptions{})
_, err = r.CommitObject(commit)
if err != nil {
panic(err)
}
}

if !CmdFlagGoGit {
if CmdFlagTag {
err = exec_utils.ExecOut("git", "tag", CmdFlagVersion, "-m", "VERSION: "+CmdFlagVersion)
if err != nil {
log.Fatalln(err)
}
}
} else {
if CmdFlagTag {
_, err := r.CreateTag(
CmdFlagVersion,
commit,
&git.CreateTagOptions{
Message: "VERSION: " + CmdFlagVersion,
},
)
if err != nil {
panic(err)
}
}
}
},
}
Expand Down Expand Up @@ -89,4 +116,10 @@ func init() {
false,
"Create also git tag",
)
Cmd.Flags().BoolVar(
&CmdFlagNoCommit,
"go-git",
false,
"Use go-git instead of git binary",
)
}

0 comments on commit c5e494e

Please sign in to comment.