preparation for v0.2.0 #3

Merged
suyono merged 32 commits from wip2 into main 2024-09-22 11:44:07 +10:00
4 changed files with 18 additions and 7 deletions
Showing only changes of commit 6092629cb4 - Show all commits

View File

@ -2,9 +2,10 @@ package cli
import ( import (
"fmt" "fmt"
"os"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/viper" "github.com/spf13/viper"
"os"
) )
type Version string type Version string
@ -27,12 +28,12 @@ func (v Version) Cmd(cmd *cobra.Command) {
} }
func (v Version) Flag(cmd *cobra.Command) { func (v Version) Flag(cmd *cobra.Command) {
cmd.PersistentFlags().Bool(versionFlag, false, "print version") cmd.PersistentFlags().Count(versionFlag, "print version")
_ = viper.BindPFlag(versionFlag, cmd.PersistentFlags().Lookup(versionFlag)) _ = viper.BindPFlag(versionFlag, cmd.PersistentFlags().Lookup(versionFlag))
} }
func (v Version) FlagHook() { func (v Version) FlagHook() {
if viper.GetBool(versionFlag) { if viper.GetInt(versionFlag) > 0 {
v.Print() v.Print()
} }
} }

View File

@ -7,6 +7,7 @@ import (
"gitea.suyono.dev/suyono/wingmate" "gitea.suyono.dev/suyono/wingmate"
"gitea.suyono.dev/suyono/wingmate/config" "gitea.suyono.dev/suyono/wingmate/config"
wminit "gitea.suyono.dev/suyono/wingmate/init" wminit "gitea.suyono.dev/suyono/wingmate/init"
"github.com/spf13/viper"
) )
var ( var (
@ -22,6 +23,10 @@ func main() {
_ = wingmate.NewLog(os.Stderr) _ = wingmate.NewLog(os.Stderr)
config.SetVersion(version) config.SetVersion(version)
config.ParseFlags()
wingmate.Log().Info().Msgf("starting wingmate version %s", viper.GetString(config.WingmateVersion))
if cfg, err = config.Read(); err != nil { if cfg, err = config.Read(); err != nil {
wingmate.Log().Error().Msgf("failed to read config %#v", err) wingmate.Log().Error().Msgf("failed to read config %#v", err)
} }

View File

@ -79,7 +79,6 @@ type CronSchedule struct {
func SetVersion(version string) { func SetVersion(version string) {
version = strings.TrimRight(version, versionTrimRightCutSet) version = strings.TrimRight(version, versionTrimRightCutSet)
viper.Set(WingmateVersion, version) viper.Set(WingmateVersion, version)
wingmate.Log().Info().Msgf("starting wingmate version %s", version)
} }
func Read() (*Config, error) { func Read() (*Config, error) {
@ -91,8 +90,6 @@ func Read() (*Config, error) {
viper.SetDefault(PidProxyPathConfig, PidProxyPathDefault) viper.SetDefault(PidProxyPathConfig, PidProxyPathDefault)
viper.SetDefault(ExecPathConfig, ExecPathDefault) viper.SetDefault(ExecPathConfig, ExecPathDefault)
ParseFlags()
var ( var (
dirent []os.DirEntry dirent []os.DirEntry
err error err error

View File

@ -1,12 +1,15 @@
package config package config
import ( import (
"fmt"
"os"
"github.com/spf13/pflag" "github.com/spf13/pflag"
"github.com/spf13/viper" "github.com/spf13/viper"
) )
func ParseFlags() { func ParseFlags() {
pflag.BoolP(VersionFlag, "v", false, "check version") pflag.CountP(VersionFlag, "v", "check version")
pflag.String(WMPidProxyPathFlag, "", "wmpidproxy path") pflag.String(WMPidProxyPathFlag, "", "wmpidproxy path")
pflag.String(WMExecPathFlag, "", "wmexec path") pflag.String(WMExecPathFlag, "", "wmexec path")
pflag.StringP(ConfigPathFlag, "c", "", "config path") pflag.StringP(ConfigPathFlag, "c", "", "config path")
@ -17,4 +20,9 @@ func ParseFlags() {
_ = viper.BindPFlag(ConfigPath, pflag.CommandLine.Lookup(ConfigPathFlag)) _ = viper.BindPFlag(ConfigPath, pflag.CommandLine.Lookup(ConfigPathFlag))
_ = viper.BindPFlag(PidProxyPathConfig, pflag.CommandLine.Lookup(WMPidProxyPathFlag)) _ = viper.BindPFlag(PidProxyPathConfig, pflag.CommandLine.Lookup(WMPidProxyPathFlag))
_ = viper.BindPFlag(ExecPathConfig, pflag.CommandLine.Lookup(WMExecPathFlag)) _ = viper.BindPFlag(ExecPathConfig, pflag.CommandLine.Lookup(WMExecPathFlag))
if viper.GetInt(VersionCheckKey) > 0 {
fmt.Println(viper.GetString(WingmateVersion))
os.Exit(0)
}
} }