Skip to content

Commit daae1c2

Browse files
committed
move workflow instance id back
1 parent 3bcf818 commit daae1c2

5 files changed

Lines changed: 15 additions & 104 deletions

File tree

cmd/src/abc.go

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package main
33
import (
44
"flag"
55
"fmt"
6-
7-
"github.com/sourcegraph/src-cli/internal/cmderrors"
86
)
97

108
var abcCommands commander
@@ -14,37 +12,21 @@ func init() {
1412
1513
Usage:
1614
17-
src abc <workflow-instance-id> command [command options]
15+
src abc command [command options]
1816
1917
The commands are:
2018
2119
variables manage workflow instance variables
2220
23-
Use "src abc <workflow-instance-id> [command] -h" for more information about a command.
21+
Use "src abc [command] -h" for more information about a command.
2422
`
2523

2624
flagSet := flag.NewFlagSet("abc", flag.ExitOnError)
2725
usageFunc := func() {
2826
fmt.Println(usage)
2927
}
30-
flagSet.Usage = usageFunc
3128
handler := func(args []string) error {
32-
if err := flagSet.Parse(args); err != nil {
33-
return err
34-
}
35-
36-
if flagSet.NArg() == 0 || flagSet.Arg(0) == "help" {
37-
flagSet.SetOutput(flag.CommandLine.Output())
38-
flagSet.Usage()
39-
return nil
40-
}
41-
42-
if flagSet.NArg() < 2 {
43-
return cmderrors.Usage("must provide a workflow instance ID and subcommand")
44-
}
45-
46-
instanceID := flagSet.Arg(0)
47-
abcCommands.runWithPrefixArgs("src abc <workflow-instance-id>", []string{instanceID}, flagSet.Args()[1:])
29+
abcCommands.run(flagSet, "src abc", usage, args)
4830
return nil
4931
}
5032

cmd/src/abc_variables.go

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,49 +3,31 @@ package main
33
import (
44
"flag"
55
"fmt"
6-
7-
"github.com/sourcegraph/src-cli/internal/cmderrors"
86
)
97

108
var abcVariablesCommands commander
119

1210
func init() {
13-
usage := `'src abc <workflow-instance-id> variables' is a tool that manages workflow instance variables.
11+
usage := `'src abc variables' is a tool that manages workflow instance variables.
1412
1513
Usage:
1614
17-
src abc <workflow-instance-id> variables command [command options]
15+
src abc variables command [command options]
1816
1917
The commands are:
2018
2119
set set workflow instance variables
2220
delete delete workflow instance variables
2321
24-
Use "src abc <workflow-instance-id> variables [command] -h" for more information about a command.
22+
Use "src abc variables [command] -h" for more information about a command.
2523
`
2624

2725
flagSet := flag.NewFlagSet("variables", flag.ExitOnError)
2826
usageFunc := func() {
2927
fmt.Println(usage)
3028
}
31-
flagSet.Usage = usageFunc
3229
handler := func(args []string) error {
33-
if len(args) == 0 {
34-
return cmderrors.Usage("must provide a workflow instance ID")
35-
}
36-
37-
instanceID := args[0]
38-
if err := flagSet.Parse(args[1:]); err != nil {
39-
return err
40-
}
41-
42-
if flagSet.NArg() == 0 || flagSet.Arg(0) == "help" {
43-
flagSet.SetOutput(flag.CommandLine.Output())
44-
flagSet.Usage()
45-
return nil
46-
}
47-
48-
abcVariablesCommands.runWithPrefixArgs("src abc <workflow-instance-id> variables", []string{instanceID}, flagSet.Args())
30+
abcVariablesCommands.run(flagSet, "src abc variables", usage, args)
4931
return nil
5032
}
5133

cmd/src/abc_variables_delete.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ Examples:
1515
1616
Delete a variable from a workflow instance:
1717
18-
$ src abc QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== variables delete approval
18+
$ src abc variables delete QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== approval
1919
2020
Delete multiple variables in one request:
2121
22-
$ src abc QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== variables delete --var approval --var checkpoints
22+
$ src abc variables delete QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== --var approval --var checkpoints
2323
`
2424

2525
flagSet := flag.NewFlagSet("delete", flag.ExitOnError)
2626
var variableArgs abcVariableArgs
2727
flagSet.Var(&variableArgs, "var", "Variable name to delete. Repeat for multiple names.")
2828
usageFunc := func() {
29-
fmt.Fprintf(flag.CommandLine.Output(), "Usage of 'src abc <workflow-instance-id> variables %s':\n", flagSet.Name())
29+
fmt.Fprintf(flag.CommandLine.Output(), "Usage of 'src abc variables %s':\n", flagSet.Name())
3030
flagSet.PrintDefaults()
3131
fmt.Println(usage)
3232
}

cmd/src/abc_variables_set.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ Examples:
2727
2828
Set a string variable on a workflow instance:
2929
30-
$ src abc QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== variables set prompt="tighten the review criteria"
30+
$ src abc variables set QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== prompt="tighten the review criteria"
3131
3232
Set multiple variables in one request:
3333
34-
$ src abc QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== variables set --var prompt="tighten the review criteria" --var checkpoints='[1,2,3]'
34+
$ src abc variables set QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== --var prompt="tighten the review criteria" --var checkpoints='[1,2,3]'
3535
3636
Set a structured JSON value:
3737
38-
$ src abc QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== variables set checkpoints='[1,2,3]'
38+
$ src abc variables set QWdlbnRpY1dvcmtmbG93SW5zdGFuY2U6MQ== checkpoints='[1,2,3]'
3939
4040
Values are interpreted as JSON literals when valid. Otherwise they are sent as plain strings.
4141
`
@@ -44,7 +44,7 @@ Values are interpreted as JSON literals when valid. Otherwise they are sent as p
4444
var variableArgs abcVariableArgs
4545
flagSet.Var(&variableArgs, "var", "Variable assignment in <name>=<value> form. Repeat to set multiple variables.")
4646
usageFunc := func() {
47-
fmt.Fprintf(flag.CommandLine.Output(), "Usage of 'src abc <workflow-instance-id> variables %s':\n", flagSet.Name())
47+
fmt.Fprintf(flag.CommandLine.Output(), "Usage of 'src abc variables %s':\n", flagSet.Name())
4848
flagSet.PrintDefaults()
4949
fmt.Println(usage)
5050
}
@@ -145,7 +145,7 @@ func parseABCVariable(raw string) (abcVariable, error) {
145145
return abcVariable{}, err
146146
}
147147
if remove {
148-
return abcVariable{}, cmderrors.Usagef("invalid variable assignment %q: use 'src abc <workflow-instance-id> variables delete %s' to remove a variable", raw, name)
148+
return abcVariable{}, cmderrors.Usagef("invalid variable assignment %q: use 'src abc variables delete <workflow-instance-id> %s' to remove a variable", raw, name)
149149
}
150150

151151
return abcVariable{Key: name, Value: value}, nil

cmd/src/cmd.go

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -109,56 +109,3 @@ func (c commander) run(flagSet *flag.FlagSet, cmdName, usageText string, args []
109109
log.Printf("%s: unknown subcommand %q", cmdName, name)
110110
log.Fatalf("Run '%s help' for usage.", cmdName)
111111
}
112-
113-
// runWithPrefixArgs runs a command tree where one or more leading arguments must
114-
// be forwarded to the matched subcommand handler before its own arguments.
115-
func (c commander) runWithPrefixArgs(cmdName string, prefixArgs, args []string) {
116-
// Configure default usage funcs for commands.
117-
for _, cmd := range c {
118-
if cmd.usageFunc != nil {
119-
cmd.flagSet.Usage = cmd.usageFunc
120-
continue
121-
}
122-
cmd.flagSet.Usage = func() {
123-
_, _ = fmt.Fprintf(flag.CommandLine.Output(), "Usage of '%s %s':\n", cmdName, cmd.flagSet.Name())
124-
cmd.flagSet.PrintDefaults()
125-
}
126-
}
127-
128-
// Find the subcommand to execute.
129-
name := args[0]
130-
for _, cmd := range c {
131-
if !cmd.matches(name) {
132-
continue
133-
}
134-
135-
// Read global configuration now.
136-
var err error
137-
cfg, err = readConfig()
138-
if err != nil {
139-
log.Fatal("reading config: ", err)
140-
}
141-
142-
// Execute the subcommand.
143-
if err := cmd.handler(append(slices.Clone(prefixArgs), args[1:]...)); err != nil {
144-
if _, ok := err.(*cmderrors.UsageError); ok {
145-
log.Printf("error: %s\n\n", err)
146-
cmd.flagSet.SetOutput(os.Stderr)
147-
flag.CommandLine.SetOutput(os.Stderr)
148-
cmd.flagSet.Usage()
149-
os.Exit(2)
150-
}
151-
if e, ok := err.(*cmderrors.ExitCodeError); ok {
152-
if e.HasError() {
153-
log.Println(e)
154-
}
155-
os.Exit(e.Code())
156-
}
157-
log.Fatal(err)
158-
}
159-
os.Exit(0)
160-
}
161-
162-
log.Printf("%s: unknown subcommand %q", cmdName, name)
163-
log.Fatalf("Run '%s help' for usage.", cmdName)
164-
}

0 commit comments

Comments
 (0)