diff options
author | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-09-05 02:41:21 -0500 |
---|---|---|
committer | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-09-05 02:41:21 -0500 |
commit | a6f45bfa932b9e8e2393b5643e2bc38e44ba76df (patch) | |
tree | b823cbca417ea4753f6dfe87ba986d2023ecb39a /cmd | |
parent | 4a6efc74aebcc689a734d05bc8435eb9560340e1 (diff) | |
download | deb-planr-a6f45bfa932b9e8e2393b5643e2bc38e44ba76df.tar.xz deb-planr-a6f45bfa932b9e8e2393b5643e2bc38e44ba76df.zip |
Add config w/ version information
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/planr/main.go | 6 | ||||
-rw-r--r-- | cmd/planr/sub/build.go | 4 | ||||
-rw-r--r-- | cmd/planr/sub/common.go | 15 | ||||
-rw-r--r-- | cmd/planr/sub/evaluate.go | 4 |
4 files changed, 24 insertions, 5 deletions
diff --git a/cmd/planr/main.go b/cmd/planr/main.go index d7f62aa..ce20811 100644 --- a/cmd/planr/main.go +++ b/cmd/planr/main.go @@ -79,6 +79,8 @@ func main() { runner := getConfiguredRunner() + cfg := planr.DecodeConfig(runner.ConfigDir()) + subcommand := flag.Arg(0) subargs := flag.Args()[1:] @@ -86,9 +88,9 @@ func main() { case "version": fmt.Printf("%s\n", planr.VERSION) case "build": - sub.Build(runner, subargs) + sub.Build(runner, subargs, cfg) case "evaluate", "eval": - sub.Evaluate(runner, subargs) + sub.Evaluate(runner, subargs, cfg) case "clean": sub.Clean(runner, subargs) case "config": diff --git a/cmd/planr/sub/build.go b/cmd/planr/sub/build.go index d24bb02..48edd9c 100644 --- a/cmd/planr/sub/build.go +++ b/cmd/planr/sub/build.go @@ -4,8 +4,8 @@ import ( "golang.flu0r1ne.net/planr" ) - -func Build(runner planr.Runner, params []string) { +func Build(runner planr.Runner, params []string, cfg planr.Config) { + dieIncompatibleVersion(cfg) tcs := runner.CollectCases() runner.Build(tcs) } diff --git a/cmd/planr/sub/common.go b/cmd/planr/sub/common.go new file mode 100644 index 0000000..67d07f8 --- /dev/null +++ b/cmd/planr/sub/common.go @@ -0,0 +1,15 @@ +package sub + +import ( + "golang.flu0r1ne.net/planr" + "os" + "fmt" +) + +func dieIncompatibleVersion(cfg planr.Config) { + if cfg.IncompatibleWithVersion() { + fmt.Fprintf(os.Stderr, "This version of PlanR (%v) is incompatible with config version %s\n", planr.VERSION, cfg.Version) + fmt.Fprintf(os.Stderr, "Please upgrade to version %s or greater\n", cfg.Version) + os.Exit(1) + } +} diff --git a/cmd/planr/sub/evaluate.go b/cmd/planr/sub/evaluate.go index 18cccb1..c2549be 100644 --- a/cmd/planr/sub/evaluate.go +++ b/cmd/planr/sub/evaluate.go @@ -4,7 +4,9 @@ import ( "golang.flu0r1ne.net/planr" ) -func Evaluate(runner planr.Runner, params []string) { +func Evaluate(runner planr.Runner, params []string, cfg planr.Config) { + dieIncompatibleVersion(cfg) + tcs := runner.CollectCases() trs := runner.Evaluate(tcs) |