From 9e6c11e767cb0a0d2ca8fcfe4508e0e819891ba5 Mon Sep 17 00:00:00 2001 From: Jose Garcia Date: Thu, 30 Sep 2021 11:20:13 -0400 Subject: [PATCH] Move `cmd/ghcs` to `pkg/cmd/codespace` - Delete pkg/cmd/codespace/main as it is no longer needed in this codebase --- cmd/ghcs/main/main.go | 54 ------------------- {cmd/ghcs => pkg/cmd/codespace}/code.go | 0 {cmd/ghcs => pkg/cmd/codespace}/common.go | 2 +- {cmd/ghcs => pkg/cmd/codespace}/create.go | 2 +- {cmd/ghcs => pkg/cmd/codespace}/delete.go | 0 .../ghcs => pkg/cmd/codespace}/delete_test.go | 2 +- {cmd/ghcs => pkg/cmd/codespace}/list.go | 2 +- {cmd/ghcs => pkg/cmd/codespace}/logs.go | 0 {cmd/ghcs => pkg/cmd/codespace}/mock_api.go | 0 .../cmd/codespace}/mock_prompter.go | 0 .../cmd/codespace}/output/format_json.go | 0 .../cmd/codespace}/output/format_table.go | 0 .../cmd/codespace}/output/format_tsv.go | 0 .../cmd/codespace}/output/logger.go | 0 {cmd/ghcs => pkg/cmd/codespace}/ports.go | 2 +- {cmd/ghcs => pkg/cmd/codespace}/root.go | 0 {cmd/ghcs => pkg/cmd/codespace}/ssh.go | 0 pkg/cmd/root/root.go | 6 +-- 18 files changed, 8 insertions(+), 62 deletions(-) delete mode 100644 cmd/ghcs/main/main.go rename {cmd/ghcs => pkg/cmd/codespace}/code.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/common.go (99%) rename {cmd/ghcs => pkg/cmd/codespace}/create.go (99%) rename {cmd/ghcs => pkg/cmd/codespace}/delete.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/delete_test.go (99%) rename {cmd/ghcs => pkg/cmd/codespace}/list.go (96%) rename {cmd/ghcs => pkg/cmd/codespace}/logs.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/mock_api.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/mock_prompter.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/output/format_json.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/output/format_table.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/output/format_tsv.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/output/logger.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/ports.go (99%) rename {cmd/ghcs => pkg/cmd/codespace}/root.go (100%) rename {cmd/ghcs => pkg/cmd/codespace}/ssh.go (100%) diff --git a/cmd/ghcs/main/main.go b/cmd/ghcs/main/main.go deleted file mode 100644 index 455a8c302..000000000 --- a/cmd/ghcs/main/main.go +++ /dev/null @@ -1,54 +0,0 @@ -package main - -import ( - "errors" - "fmt" - "io" - "net/http" - "os" - - "github.com/cli/cli/v2/cmd/ghcs" - "github.com/cli/cli/v2/cmd/ghcs/output" - "github.com/cli/cli/v2/internal/api" - "github.com/spf13/cobra" -) - -func main() { - token := os.Getenv("GITHUB_TOKEN") - rootCmd := ghcs.NewRootCmd(ghcs.NewApp( - output.NewLogger(os.Stdout, os.Stderr, false), - api.New(token, http.DefaultClient), - )) - - // Require GITHUB_TOKEN through a Cobra pre-run hook so that Cobra's help system for commands can still - // function without the token set. - oldPreRun := rootCmd.PersistentPreRunE - rootCmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error { - if token == "" { - return errTokenMissing - } - if oldPreRun != nil { - return oldPreRun(cmd, args) - } - return nil - } - - if cmd, err := rootCmd.ExecuteC(); err != nil { - explainError(os.Stderr, err, cmd) - os.Exit(1) - } -} - -var errTokenMissing = errors.New("GITHUB_TOKEN is missing") - -func explainError(w io.Writer, err error, cmd *cobra.Command) { - if errors.Is(err, errTokenMissing) { - fmt.Fprintln(w, "The GITHUB_TOKEN environment variable is required. Create a Personal Access Token at https://github.com/settings/tokens/new?scopes=repo") - fmt.Fprintln(w, "Make sure to enable SSO for your organizations after creating the token.") - return - } - if errors.Is(err, ghcs.ErrTooManyArgs) { - _ = cmd.Usage() - return - } -} diff --git a/cmd/ghcs/code.go b/pkg/cmd/codespace/code.go similarity index 100% rename from cmd/ghcs/code.go rename to pkg/cmd/codespace/code.go diff --git a/cmd/ghcs/common.go b/pkg/cmd/codespace/common.go similarity index 99% rename from cmd/ghcs/common.go rename to pkg/cmd/codespace/common.go index d69ffd964..62ec99a20 100644 --- a/cmd/ghcs/common.go +++ b/pkg/cmd/codespace/common.go @@ -12,8 +12,8 @@ import ( "github.com/AlecAivazis/survey/v2" "github.com/AlecAivazis/survey/v2/terminal" - "github.com/cli/cli/v2/cmd/ghcs/output" "github.com/cli/cli/v2/internal/api" + "github.com/cli/cli/v2/pkg/cmd/codespace/output" "github.com/spf13/cobra" "golang.org/x/term" ) diff --git a/cmd/ghcs/create.go b/pkg/cmd/codespace/create.go similarity index 99% rename from cmd/ghcs/create.go rename to pkg/cmd/codespace/create.go index c184a0ff7..74b4fc696 100644 --- a/cmd/ghcs/create.go +++ b/pkg/cmd/codespace/create.go @@ -8,9 +8,9 @@ import ( "strings" "github.com/AlecAivazis/survey/v2" - "github.com/cli/cli/v2/cmd/ghcs/output" "github.com/cli/cli/v2/internal/api" "github.com/cli/cli/v2/internal/codespaces" + "github.com/cli/cli/v2/pkg/cmd/codespace/output" "github.com/fatih/camelcase" "github.com/spf13/cobra" ) diff --git a/cmd/ghcs/delete.go b/pkg/cmd/codespace/delete.go similarity index 100% rename from cmd/ghcs/delete.go rename to pkg/cmd/codespace/delete.go diff --git a/cmd/ghcs/delete_test.go b/pkg/cmd/codespace/delete_test.go similarity index 99% rename from cmd/ghcs/delete_test.go rename to pkg/cmd/codespace/delete_test.go index af30bc542..84a0ba472 100644 --- a/cmd/ghcs/delete_test.go +++ b/pkg/cmd/codespace/delete_test.go @@ -11,8 +11,8 @@ import ( "time" "github.com/MakeNowJust/heredoc" - "github.com/cli/cli/v2/cmd/ghcs/output" "github.com/cli/cli/v2/internal/api" + "github.com/cli/cli/v2/pkg/cmd/codespace/output" ) func TestDelete(t *testing.T) { diff --git a/cmd/ghcs/list.go b/pkg/cmd/codespace/list.go similarity index 96% rename from cmd/ghcs/list.go rename to pkg/cmd/codespace/list.go index 679325eff..2689fd376 100644 --- a/cmd/ghcs/list.go +++ b/pkg/cmd/codespace/list.go @@ -5,8 +5,8 @@ import ( "fmt" "os" - "github.com/cli/cli/v2/cmd/ghcs/output" "github.com/cli/cli/v2/internal/api" + "github.com/cli/cli/v2/pkg/cmd/codespace/output" "github.com/spf13/cobra" ) diff --git a/cmd/ghcs/logs.go b/pkg/cmd/codespace/logs.go similarity index 100% rename from cmd/ghcs/logs.go rename to pkg/cmd/codespace/logs.go diff --git a/cmd/ghcs/mock_api.go b/pkg/cmd/codespace/mock_api.go similarity index 100% rename from cmd/ghcs/mock_api.go rename to pkg/cmd/codespace/mock_api.go diff --git a/cmd/ghcs/mock_prompter.go b/pkg/cmd/codespace/mock_prompter.go similarity index 100% rename from cmd/ghcs/mock_prompter.go rename to pkg/cmd/codespace/mock_prompter.go diff --git a/cmd/ghcs/output/format_json.go b/pkg/cmd/codespace/output/format_json.go similarity index 100% rename from cmd/ghcs/output/format_json.go rename to pkg/cmd/codespace/output/format_json.go diff --git a/cmd/ghcs/output/format_table.go b/pkg/cmd/codespace/output/format_table.go similarity index 100% rename from cmd/ghcs/output/format_table.go rename to pkg/cmd/codespace/output/format_table.go diff --git a/cmd/ghcs/output/format_tsv.go b/pkg/cmd/codespace/output/format_tsv.go similarity index 100% rename from cmd/ghcs/output/format_tsv.go rename to pkg/cmd/codespace/output/format_tsv.go diff --git a/cmd/ghcs/output/logger.go b/pkg/cmd/codespace/output/logger.go similarity index 100% rename from cmd/ghcs/output/logger.go rename to pkg/cmd/codespace/output/logger.go diff --git a/cmd/ghcs/ports.go b/pkg/cmd/codespace/ports.go similarity index 99% rename from cmd/ghcs/ports.go rename to pkg/cmd/codespace/ports.go index 27467d150..86705cc7d 100644 --- a/cmd/ghcs/ports.go +++ b/pkg/cmd/codespace/ports.go @@ -11,10 +11,10 @@ import ( "strconv" "strings" - "github.com/cli/cli/v2/cmd/ghcs/output" "github.com/cli/cli/v2/internal/api" "github.com/cli/cli/v2/internal/codespaces" "github.com/cli/cli/v2/internal/liveshare" + "github.com/cli/cli/v2/pkg/cmd/codespace/output" "github.com/muhammadmuzzammil1998/jsonc" "github.com/spf13/cobra" "golang.org/x/sync/errgroup" diff --git a/cmd/ghcs/root.go b/pkg/cmd/codespace/root.go similarity index 100% rename from cmd/ghcs/root.go rename to pkg/cmd/codespace/root.go diff --git a/cmd/ghcs/ssh.go b/pkg/cmd/codespace/ssh.go similarity index 100% rename from cmd/ghcs/ssh.go rename to pkg/cmd/codespace/ssh.go diff --git a/pkg/cmd/root/root.go b/pkg/cmd/root/root.go index bb36b9592..de9e40296 100644 --- a/pkg/cmd/root/root.go +++ b/pkg/cmd/root/root.go @@ -5,14 +5,14 @@ import ( "sync" "github.com/MakeNowJust/heredoc" - "github.com/cli/cli/v2/cmd/ghcs" - "github.com/cli/cli/v2/cmd/ghcs/output" ghcsApi "github.com/cli/cli/v2/internal/api" actionsCmd "github.com/cli/cli/v2/pkg/cmd/actions" aliasCmd "github.com/cli/cli/v2/pkg/cmd/alias" apiCmd "github.com/cli/cli/v2/pkg/cmd/api" authCmd "github.com/cli/cli/v2/pkg/cmd/auth" browseCmd "github.com/cli/cli/v2/pkg/cmd/browse" + codespaceCmd "github.com/cli/cli/v2/pkg/cmd/codespace" + "github.com/cli/cli/v2/pkg/cmd/codespace/output" completionCmd "github.com/cli/cli/v2/pkg/cmd/completion" configCmd "github.com/cli/cli/v2/pkg/cmd/config" extensionCmd "github.com/cli/cli/v2/pkg/cmd/extension" @@ -128,7 +128,7 @@ func bareHTTPClient(f *cmdutil.Factory, version string) func() (*http.Client, er } func newCodespaceCmd(f *cmdutil.Factory) *cobra.Command { - cmd := ghcs.NewRootCmd(ghcs.NewApp( + cmd := codespaceCmd.NewRootCmd(codespaceCmd.NewApp( output.NewLogger(f.IOStreams.Out, f.IOStreams.ErrOut, !f.IOStreams.IsStdoutTTY()), ghcsApi.New("", &lazyLoadedHTTPClient{factory: f}), ))