@@ -2,12 +2,11 @@ package commands
22
33import (
44 "encoding/json"
5+ "errors"
56 "fmt"
6- "os"
77 "strings"
88
99 "github.com/Azure/InnovationEngine/internal/engine"
10- "github.com/Azure/InnovationEngine/internal/logging"
1110 "github.com/spf13/cobra"
1211)
1312
@@ -18,12 +17,10 @@ type OcdScript struct {
1817var toBashCommand = & cobra.Command {
1918 Use : "to-bash" ,
2019 Short : "Convert a markdown scenario into a bash script." ,
21- Run : func (cmd * cobra.Command , args []string ) {
20+ RunE : func (cmd * cobra.Command , args []string ) error {
2221 markdownFile := args [0 ]
2322 if markdownFile == "" {
24- logging .GlobalLogger .Errorf ("Error: No markdown file specified." )
25- cmd .Help ()
26- os .Exit (1 )
23+ return errors .New ("no markdown file specified" )
2724 }
2825
2926 environment , _ := cmd .Flags ().GetString ("environment" )
@@ -34,10 +31,7 @@ var toBashCommand = &cobra.Command{
3431 for _ , environmentVariable := range environmentVariables {
3532 keyValuePair := strings .SplitN (environmentVariable , "=" , 2 )
3633 if len (keyValuePair ) != 2 {
37- logging .GlobalLogger .Errorf ("Error: Invalid environment variable format: %s" , environmentVariable )
38- fmt .Printf ("Error: Invalid environment variable format: %s" , environmentVariable )
39- cmd .Help ()
40- os .Exit (1 )
34+ return fmt .Errorf ("invalid environment variable format: %s" , environmentVariable )
4135 }
4236
4337 cliEnvironmentVariables [keyValuePair [0 ]] = keyValuePair [1 ]
@@ -48,28 +42,23 @@ var toBashCommand = &cobra.Command{
4842 markdownFile ,
4943 []string {"bash" , "azurecli" , "azurecli-interactive" , "terraform" },
5044 cliEnvironmentVariables )
51-
5245 if err != nil {
53- logging .GlobalLogger .Errorf ("Error creating scenario: %s" , err )
54- fmt .Printf ("Error creating scenario: %s" , err )
55- os .Exit (0 )
46+ return fmt .Errorf ("creating scenario: %w" , err )
5647 }
5748
5849 if environment == "ocd" {
5950 script := OcdScript {Script : scenario .ToShellScript ()}
6051 scriptJson , err := json .Marshal (script )
61-
6252 if err != nil {
63- logging .GlobalLogger .Errorf ("Error converting to json: %s" , err )
64- fmt .Printf ("Error converting to json: %s" , err )
65- os .Exit (1 )
53+ return fmt .Errorf ("converting to json: %w" , err )
6654 }
6755
6856 fmt .Printf ("ie_us%sie_ue\n " , scriptJson )
6957 } else {
7058 fmt .Printf ("%s" , scenario .ToShellScript ())
7159 }
7260
61+ return nil
7362 },
7463}
7564
0 commit comments