-
Notifications
You must be signed in to change notification settings - Fork 13
/
fork.go
47 lines (44 loc) · 1.39 KB
/
fork.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package cmdtree
import (
"github.com/ActiveState/cli/internal/captain"
"github.com/ActiveState/cli/internal/locale"
"github.com/ActiveState/cli/internal/primer"
"github.com/ActiveState/cli/internal/runners/fork"
)
func newForkCommand(prime *primer.Values) *captain.Command {
runner := fork.New(prime)
params := &fork.Params{}
return captain.NewCommand(
"fork",
locale.Tl("fork_title", "Forking Project"),
locale.Tl("fork_description", "Fork an existing ActiveState Platform project"),
prime,
[]*captain.Flag{
{
Name: "org",
Description: locale.Tl("fork_flag_org", "The organization to fork the project to"),
Value: ¶ms.Organization,
},
{
Name: "name",
Description: locale.Tl("fork_flag_name", "The name of the new project to be created"),
Value: ¶ms.Name,
},
{
Name: "private",
Description: locale.Tl("fork_flag_private", "Denotes if the forked project will be private"),
Value: ¶ms.Private,
},
},
[]*captain.Argument{
{
Name: locale.Tl("fork_arg_namespace", "org/project"),
Description: locale.Tl("fork_arg_namespace_desc", "The namespace of the project to be forked"),
Required: true,
Value: ¶ms.Namespace,
},
},
func(cmd *captain.Command, args []string) error {
return runner.Run(params)
}).SetGroup(VCSGroup).SetSupportsStructuredOutput()
}