From caa8290382c85e8de9c5ac63af499d17ba3c6124 Mon Sep 17 00:00:00 2001 From: Direside Date: Mon, 8 Jun 2020 19:11:50 -0700 Subject: [PATCH] Removed the required project name when running the command to make it simpler to run. --- cmd/init.go | 10 ++-------- internal/context/init.go | 23 ++++++++++++----------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/cmd/init.go b/cmd/init.go index 8054b81ce..820925693 100644 --- a/cmd/init.go +++ b/cmd/init.go @@ -3,7 +3,6 @@ package cmd import ( "github.com/commitdev/zero/internal/config/projectconfig" "github.com/commitdev/zero/internal/context" - "github.com/commitdev/zero/pkg/util/exit" "github.com/spf13/cobra" ) @@ -15,12 +14,7 @@ var initCmd = &cobra.Command{ Use: "init", Short: "Create new project with provided name and initialize configuration based on user input.", Run: func(cmd *cobra.Command, args []string) { - if len(args) < 1 { - exit.Fatal("Project name cannot be empty!") - } - - projectName := args[0] - projectContext := context.Init(projectName, projectconfig.RootDir) - projectconfig.Init(projectconfig.RootDir, projectName, projectContext) + projectContext := context.Init(projectconfig.RootDir) + projectconfig.Init(projectconfig.RootDir, projectContext.Name, projectContext) }, } diff --git a/internal/context/init.go b/internal/context/init.go index 3d6e373ea..43ec43d80 100644 --- a/internal/context/init.go +++ b/internal/context/init.go @@ -22,22 +22,23 @@ import ( type Registry map[string][]string // Create cloud provider context -func Init(projectName string, outDir string) *projectconfig.ZeroProjectConfig { - rootDir := path.Join(outDir, projectName) - flog.Infof(":tada: Creating project %s.", projectName) +func Init(outDir string) *projectconfig.ZeroProjectConfig { + projectConfig := defaultProjConfig() + projectConfig.Name = promptProjectName() + + rootDir := path.Join(outDir, projectConfig.Name) + flog.Infof(":tada: Creating project") err := os.MkdirAll(rootDir, os.ModePerm) if os.IsExist(err) { - exit.Fatal("Directory %v already exists! Error: %v", projectName, err) + exit.Fatal("Directory %v already exists! Error: %v", projectConfig.Name, err) } else if err != nil { exit.Fatal("Error creating root: %v ", err) } - projectConfig := defaultProjConfig(projectName) - projectConfig.Name = promptProjectName(projectName) projectConfig.Context["ShouldPushRepoUpstream"] = promptPushRepoUpstream() projectConfig.Context["GithubRootOrg"] = promptGithubRootOrg() - projectConfig.Context["githubPersonalToken"] = promptGithubPersonalToken(projectName) + projectConfig.Context["githubPersonalToken"] = promptGithubPersonalToken(projectConfig.Name) // chooseCloudProvider(&projectConfig) // fmt.Println(&projectConfig) @@ -141,10 +142,10 @@ func promptGithubPersonalToken(projectName string) string { return result } -func promptProjectName(projectName string) string { +func promptProjectName() string { providerPrompt := promptui.Prompt{ Label: "Project Name", - Default: projectName, + Default: "", AllowEdit: false, } result, err := providerPrompt.Run() @@ -234,9 +235,9 @@ func fillProviderDetails(projectConfig *projectconfig.ZeroProjectConfig, s proje } } -func defaultProjConfig(projectName string) projectconfig.ZeroProjectConfig { +func defaultProjConfig() projectconfig.ZeroProjectConfig { return projectconfig.ZeroProjectConfig{ - Name: projectName, + Name: "", Infrastructure: projectconfig.Infrastructure{ AWS: nil, },