Compare commits
	
		
			2 Commits
		
	
	
		
			896c4ac220
			...
			028fd11ab5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 028fd11ab5 | |||
| 34f1cbc711 | 
| 
						 | 
				
			
			@ -226,8 +226,7 @@ func parseMsg(confRoot, confName, msg, tag string) (
 | 
			
		|||
	}
 | 
			
		||||
	slog.Info("conventional commit", "commit", conventionalCommit)
 | 
			
		||||
	confRoot = filepath.Clean(confRoot)
 | 
			
		||||
	confPath = filepath.Clean(fmt.Sprintf("%s/%s/%s",
 | 
			
		||||
		confRoot, conventionalCommit.Scope, confName))
 | 
			
		||||
	confPath = filepath.Join(confRoot, conventionalCommit.Scope, confName)
 | 
			
		||||
	relPath, err := filepath.Rel(confRoot, confPath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			@ -282,14 +281,15 @@ func hintValidScopes(confRoot, confName string) {
 | 
			
		|||
		"valid scopes", validScopes)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetConfPath(confRoot, confName, msg, tag string) (
 | 
			
		||||
func GetConfPath(confRoot, confName, fallbackConfName, msg, tag string) (
 | 
			
		||||
	confPath, group string, confStat fs.FileInfo, err error,
 | 
			
		||||
) {
 | 
			
		||||
	confPath, group, err = parseMsg(confRoot, confName, msg, tag)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("parse msg", "error", err)
 | 
			
		||||
		// fallback to conf file in conf root on parse error
 | 
			
		||||
		confPath = filepath.Clean(fmt.Sprintf("%s/%s", confRoot, confName))
 | 
			
		||||
		confPath = filepath.Join(confRoot, fallbackConfName)
 | 
			
		||||
		slog.Info("fallback to conf", "path", confPath)
 | 
			
		||||
	}
 | 
			
		||||
	confStat, err = os.Stat(confPath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -298,7 +298,8 @@ func GetConfPath(confRoot, confName, msg, tag string) (
 | 
			
		|||
		}
 | 
			
		||||
		slog.Error("stat conf", "error", err)
 | 
			
		||||
		// fallback to conf file in conf root on conf not exist
 | 
			
		||||
		confPath = filepath.Clean(fmt.Sprintf("%s/%s", confRoot, confName))
 | 
			
		||||
		confPath = filepath.Join(confRoot, fallbackConfName)
 | 
			
		||||
		slog.Info("fallback to conf", "path", confPath)
 | 
			
		||||
		confStat, err = os.Stat(confPath)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			slog.Error("stat fallback conf", "error", err)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,17 +12,19 @@ import (
 | 
			
		|||
)
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	confRoot    string
 | 
			
		||||
	confName    string
 | 
			
		||||
	tag         string
 | 
			
		||||
	msg         string
 | 
			
		||||
	showVersion *bool
 | 
			
		||||
	Version     string = "debug"
 | 
			
		||||
	confRoot         string
 | 
			
		||||
	confName         string
 | 
			
		||||
	fallbackConfName string
 | 
			
		||||
	tag              string
 | 
			
		||||
	msg              string
 | 
			
		||||
	showVersion      *bool
 | 
			
		||||
	Version          string = "debug"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	flag.StringVar(&confRoot, "conf-root", ".", "root path for all config files")
 | 
			
		||||
	flag.StringVar(&confName, "conf-name", "conf.json", "filename for config files")
 | 
			
		||||
	flag.StringVar(&fallbackConfName, "fallback-conf-name", "", "filename for the fallback config file in conf-root, leave empty to use conf-name")
 | 
			
		||||
	flag.StringVar(&tag, "tag", "", "tag to trigger the running, when non-empty, should equal to the scope in msg")
 | 
			
		||||
	// TODO: remove this flag
 | 
			
		||||
	flag.StringVar(&msg, "msg", "", "[DEPRECATED] will be ignored")
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +41,9 @@ func mainImpl() error {
 | 
			
		|||
		fmt.Println(Version)
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	if fallbackConfName == "" {
 | 
			
		||||
		fallbackConfName = confName
 | 
			
		||||
	}
 | 
			
		||||
	slog.Info("start joj3", "version", Version)
 | 
			
		||||
	msg, err := conf.GetCommitMsg()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +51,7 @@ func mainImpl() error {
 | 
			
		|||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	confPath, group, confStat, err := conf.GetConfPath(
 | 
			
		||||
		confRoot, confName, msg, tag)
 | 
			
		||||
		confRoot, confName, fallbackConfName, msg, tag)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		slog.Error("get conf path", "error", err)
 | 
			
		||||
		return err
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user