feat: add command version
parent
bd2446b22c
commit
6ab5957956
|
@ -13,7 +13,7 @@ Tool to generate `CHANGELOG.md`, `CHANGELOG.rst` from [Conventional Commits](htt
|
||||||
- [x] Interactive mode
|
- [x] Interactive mode
|
||||||
- [ ] Unit test
|
- [ ] Unit test
|
||||||
- [ ] Auto generate commit after gen CHANGELOG
|
- [ ] Auto generate commit after gen CHANGELOG
|
||||||
- [ ] Add version command
|
- [x] Add version command
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
|
|
1
go.mod
1
go.mod
|
@ -5,6 +5,7 @@ go 1.18
|
||||||
require (
|
require (
|
||||||
github.com/go-git/go-git/v5 v5.4.2
|
github.com/go-git/go-git/v5 v5.4.2
|
||||||
github.com/haunt98/clock-go v0.3.0
|
github.com/haunt98/clock-go v0.3.0
|
||||||
|
github.com/make-go-great/buildinfo-go v0.0.1
|
||||||
github.com/make-go-great/color-go v0.3.0
|
github.com/make-go-great/color-go v0.3.0
|
||||||
github.com/make-go-great/ioe-go v0.4.0
|
github.com/make-go-great/ioe-go v0.4.0
|
||||||
github.com/make-go-great/markdown-go v0.5.0
|
github.com/make-go-great/markdown-go v0.5.0
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -56,6 +56,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||||
|
github.com/make-go-great/buildinfo-go v0.0.1 h1:cMqVGVttHXC1hilwJxzZfyTF2LTvx5G6QAaFVG0KEHo=
|
||||||
|
github.com/make-go-great/buildinfo-go v0.0.1/go.mod h1:neEb4WWRyUmzQvlMqvrjiDexkS+QXZMq2B5yXLe4GS8=
|
||||||
github.com/make-go-great/color-go v0.3.0 h1:ZVtVk/wVVsZZwSJG7PZpsY5zwIyGao5VoN48yKfSzYA=
|
github.com/make-go-great/color-go v0.3.0 h1:ZVtVk/wVVsZZwSJG7PZpsY5zwIyGao5VoN48yKfSzYA=
|
||||||
github.com/make-go-great/color-go v0.3.0/go.mod h1:G5G8IJ3PUo+vSQ+UvnfaswF8O/piVIhFJKv1mQjBGpI=
|
github.com/make-go-great/color-go v0.3.0/go.mod h1:G5G8IJ3PUo+vSQ+UvnfaswF8O/piVIhFJKv1mQjBGpI=
|
||||||
github.com/make-go-great/ioe-go v0.4.0 h1:abRH8J01am7A9VsinEG0WnXDiT1CWk7Cd0auRvWuNyQ=
|
github.com/make-go-great/ioe-go v0.4.0 h1:abRH8J01am7A9VsinEG0WnXDiT1CWk7Cd0auRvWuNyQ=
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package cli
|
package cli
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
|
"github.com/make-go-great/buildinfo-go"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -33,6 +35,21 @@ type action struct {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *action) RunVersion(c *cli.Context) error {
|
||||||
|
info, ok := buildinfo.Read()
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
version := info.GitCommit
|
||||||
|
if info.GitTag != "" {
|
||||||
|
version = info.GitTag
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println(version)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (a *action) RunHelp(c *cli.Context) error {
|
func (a *action) RunHelp(c *cli.Context) error {
|
||||||
return cli.ShowAppHelp(c)
|
return cli.ShowAppHelp(c)
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ func (a *action) RunGenerate(c *cli.Context) error {
|
||||||
return cli.ShowAppHelp(c)
|
return cli.ShowAppHelp(c)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fmt.Printf("Input version (%s):\n", usageVersion)
|
fmt.Printf("Input version (%s):\n", usageFlagVersion)
|
||||||
a.flags.version = ioe.ReadInput()
|
a.flags.version = ioe.ReadInput()
|
||||||
|
|
||||||
fmt.Printf("Input from (%s):\n", usageFrom)
|
fmt.Printf("Input from (%s):\n", usageFrom)
|
||||||
|
|
|
@ -24,10 +24,12 @@ const (
|
||||||
flagInteractive = "interactive"
|
flagInteractive = "interactive"
|
||||||
|
|
||||||
commandGenerate = "generate"
|
commandGenerate = "generate"
|
||||||
|
commandVersion = "version"
|
||||||
|
|
||||||
usageGenerate = "generate changelog"
|
usageGenerate = "generate changelog"
|
||||||
|
usageCommandVersion = "version of changeloguru"
|
||||||
usageVerbose = "show what is going on"
|
usageVerbose = "show what is going on"
|
||||||
usageVersion = "`VERSION` to generate, follow Semantic Versioning"
|
usageFlagVersion = "`VERSION` to generate, follow Semantic Versioning"
|
||||||
usageFrom = "from `COMMIT`, which is kinda new commit, default is latest commit"
|
usageFrom = "from `COMMIT`, which is kinda new commit, default is latest commit"
|
||||||
usageTo = "to `COMMIT`, which is kinda old commit, default is oldest commit"
|
usageTo = "to `COMMIT`, which is kinda old commit, default is oldest commit"
|
||||||
usageScope = "scope to generate"
|
usageScope = "scope to generate"
|
||||||
|
@ -40,7 +42,7 @@ const (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
aliasGenerate = []string{"gen"}
|
aliasGenerate = []string{"g, gen"}
|
||||||
aliasVerbose = []string{"v"}
|
aliasVerbose = []string{"v"}
|
||||||
aliasInteractive = []string{"i"}
|
aliasInteractive = []string{"i"}
|
||||||
)
|
)
|
||||||
|
@ -68,7 +70,7 @@ func NewApp() *App {
|
||||||
},
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: flagVersion,
|
Name: flagVersion,
|
||||||
Usage: usageVersion,
|
Usage: usageFlagVersion,
|
||||||
},
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: flagFrom,
|
Name: flagFrom,
|
||||||
|
@ -115,6 +117,11 @@ func NewApp() *App {
|
||||||
},
|
},
|
||||||
Action: a.RunGenerate,
|
Action: a.RunGenerate,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: commandVersion,
|
||||||
|
Usage: usageCommandVersion,
|
||||||
|
Action: a.RunVersion,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Action: a.RunHelp,
|
Action: a.RunHelp,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue