aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go18
1 files changed, 11 insertions, 7 deletions
diff --git a/main.go b/main.go
index e57bf8a..5a09113 100644
--- a/main.go
+++ b/main.go
@@ -102,7 +102,6 @@ var (
errNoRemoteFound = errors.New("No remotes found")
clonedRepo = &git.Repository{}
localRepo = &git.Repository{}
- repoDir string
remoteName string
preReleaseFmtArgs map[string]string = make(map[string]string)
preRelease bool
@@ -115,6 +114,7 @@ var (
RunE: func(cmd *cobra.Command, argz []string) error {
part := argz[0]
preRelease := viper.GetBool("prerelease")
+ preReleaseFmtString := viper.GetString("prerelease-fmt")
// remoteName := viper.GetString("remote-name")
repoDir := viper.GetString("repo-dir")
@@ -148,7 +148,8 @@ var (
nextVersion = lastVersion.IncPatch()
case "prerelease":
preRelVersion := preReleaseVersion{
- []string{"PR", "$KeyArg PR_NUM"},
+ // []string{"PR", "$KeyArg PR_NUM"},
+ parseFmtString(preReleaseFmtString),
preReleaseFmtArgs,
lastVersion,
versionPart,
@@ -194,6 +195,10 @@ func findTags(repo *git.Repository) ([]*semver.Version, error) {
return repoTags, nil
}
+func parseFmtString(toSplit string) []string {
+ return strings.Split(toSplit, ".")
+}
+
func main() {
if err := rootCmd.Execute(); err != nil {
fmt.Fprintln(os.Stderr, err)
@@ -203,23 +208,22 @@ func main() {
func init() {
// global flags
- viper.SetConfigName(".version")
+ viper.SetConfigName(".version.toml")
viper.SetConfigType("toml")
viper.AddConfigPath(".")
- cwd := ""
err := viper.ReadInConfig() // Find and read the config file
if err != nil { // Handle errors reading the config file
fmt.Println(err)
- cwd, err = os.Getwd()
}
+ cwd, err := os.Getwd()
if err != nil {
log.Fatal(err)
}
rootCmd.PersistentFlags().BoolVarP(&preRelease, "prerelease", "p", false, "create a prerelease tag for the (major|minor|patch)")
- rootCmd.PersistentFlags().String("prerelease-fmt", "PR $KeyArg PR_NUM $BumpInt", "The format string for prerelease versions")
+ rootCmd.PersistentFlags().String("prerelease-fmt", "PR.$KeyArg PR_NUM.$BumpInt", "The format string for prerelease versions")
rootCmd.PersistentFlags().StringToStringVarP(&preReleaseFmtArgs, "key-args", "k", nil, "key=arg for the fmt string")
- repoDir = *rootCmd.PersistentFlags().String("repo-dir", cwd, "repo to examine")
+ rootCmd.PersistentFlags().String("repo-dir", cwd, "repo to examine")
remoteName = *rootCmd.PersistentFlags().String("remote-name", "origin", "remote to search and push to")
viper.BindPFlags(rootCmd.PersistentFlags())
}