From 397e118d646ccb3e7522153780fc96bf0b25dccf Mon Sep 17 00:00:00 2001 From: Max Resnick Date: Sat, 9 Dec 2023 22:52:00 -0800 Subject: chore: added more tests --- main.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'main.go') 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()) } -- cgit v1.2.3