Skip to content

Commit 922c80f

Browse files
committed
Moved reference argument parsing to new package
1 parent 6f509d6 commit 922c80f

File tree

6 files changed

+29
-29
lines changed

6 files changed

+29
-29
lines changed

cli/globals/args.go renamed to cli/arguments/reference.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,34 +13,34 @@
1313
// Arduino software without disclosing the source code of your own applications.
1414
// To purchase a commercial license, send an email to [email protected].
1515

16-
package globals
16+
package arguments
1717

1818
import (
1919
"fmt"
2020
"strings"
2121
)
2222

23-
// ReferenceArg represents a reference item (core or library) passed to the CLI
23+
// Reference represents a reference item (core or library) passed to the CLI
2424
// interface
25-
type ReferenceArg struct {
25+
type Reference struct {
2626
PackageName string
2727
Architecture string
2828
Version string
2929
}
3030

31-
func (r *ReferenceArg) String() string {
31+
func (r *Reference) String() string {
3232
if r.Version != "" {
3333
return r.PackageName + ":" + r.Architecture + "@" + r.Version
3434
}
3535
return r.PackageName + ":" + r.Architecture
3636
}
3737

38-
// ParseReferenceArgs is a convenient wrapper that operates on a slice of strings and
38+
// ParseReferences is a convenient wrapper that operates on a slice of strings and
3939
// calls ParseReferenceArg for each of them. It returns at the first invalid argument.
40-
func ParseReferenceArgs(args []string, parseArch bool) ([]*ReferenceArg, error) {
41-
ret := []*ReferenceArg{}
40+
func ParseReferences(args []string, parseArch bool) ([]*Reference, error) {
41+
ret := []*Reference{}
4242
for _, arg := range args {
43-
reference, err := ParseReferenceArg(arg, parseArch)
43+
reference, err := ParseReference(arg, parseArch)
4444
if err != nil {
4545
return nil, err
4646
}
@@ -49,11 +49,11 @@ func ParseReferenceArgs(args []string, parseArch bool) ([]*ReferenceArg, error)
4949
return ret, nil
5050
}
5151

52-
// ParseReferenceArg parses a string and return a ReferenceArg object. If `parseArch` is passed,
52+
// ParseReference parses a string and return a ReferenceArg object. If `parseArch` is passed,
5353
// the method also tries to parse the architecture bit, i.e. string must be in the form
5454
// "packager:arch@version", useful to represent a platform (or core) name.
55-
func ParseReferenceArg(arg string, parseArch bool) (*ReferenceArg, error) {
56-
ret := &ReferenceArg{}
55+
func ParseReference(arg string, parseArch bool) (*Reference, error) {
56+
ret := &Reference{}
5757
if arg == "" {
5858
return nil, fmt.Errorf("invalid empty core argument")
5959
}

cli/globals/args_test.go renamed to cli/arguments/reference_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,27 @@
1313
// Arduino software without disclosing the source code of your own applications.
1414
// To purchase a commercial license, send an email to [email protected].
1515

16-
package globals_test
16+
package arguments_test
1717

1818
import (
1919
"testing"
2020

21-
"github.com/arduino/arduino-cli/cli/globals"
21+
"github.com/arduino/arduino-cli/cli/arguments"
2222
"github.com/stretchr/testify/assert"
2323
"github.com/stretchr/testify/require"
2424
)
2525

2626
var goodCores = []struct {
2727
in string
28-
expected *globals.ReferenceArg
28+
expected *arguments.Reference
2929
}{
30-
{"arduino:avr", &globals.ReferenceArg{"arduino", "avr", ""}},
31-
{"arduino:[email protected]", &globals.ReferenceArg{"arduino", "avr", "1.6.20"}},
30+
{"arduino:avr", &arguments.Reference{"arduino", "avr", ""}},
31+
{"arduino:[email protected]", &arguments.Reference{"arduino", "avr", "1.6.20"}},
3232
}
3333

3434
var badCores = []struct {
3535
in string
36-
expected *globals.ReferenceArg
36+
expected *arguments.Reference
3737
}{
3838
{"arduino:avr:avr", nil},
3939
{"[email protected]:avr", nil},
@@ -51,15 +51,15 @@ func TestArgsStringify(t *testing.T) {
5151
}
5252
}
5353

54-
func TestParseReferenceArgCores(t *testing.T) {
54+
func TestParseReferenceCores(t *testing.T) {
5555
for _, tt := range goodCores {
56-
actual, err := globals.ParseReferenceArg(tt.in, true)
56+
actual, err := arguments.ParseReference(tt.in, true)
5757
assert.Nil(t, err)
5858
assert.Equal(t, tt.expected, actual)
5959
}
6060

6161
for _, tt := range badCores {
62-
actual, err := globals.ParseReferenceArg(tt.in, true)
62+
actual, err := arguments.ParseReference(tt.in, true)
6363
require.NotNil(t, err, "Testing bad core '%s'", tt.in)
6464
require.Equal(t, tt.expected, actual, "Testing bad core '%s'", tt.in)
6565
}
@@ -71,7 +71,7 @@ func TestParseArgs(t *testing.T) {
7171
input = append(input, tt.in)
7272
}
7373

74-
refs, err := globals.ParseReferenceArgs(input, true)
74+
refs, err := arguments.ParseReferences(input, true)
7575
assert.Nil(t, err)
7676
assert.Equal(t, len(goodCores), len(refs))
7777

cli/core/download.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import (
1919
"context"
2020
"os"
2121

22+
"github.com/arduino/arduino-cli/cli/arguments"
2223
"github.com/arduino/arduino-cli/cli/errorcodes"
2324
"github.com/arduino/arduino-cli/cli/feedback"
24-
"github.com/arduino/arduino-cli/cli/globals"
2525
"github.com/arduino/arduino-cli/cli/instance"
2626
"github.com/arduino/arduino-cli/cli/output"
2727
"github.com/arduino/arduino-cli/commands/core"
@@ -49,7 +49,7 @@ func runDownloadCommand(cmd *cobra.Command, args []string) {
4949

5050
logrus.Info("Executing `arduino core download`")
5151

52-
platformsRefs, err := globals.ParseReferenceArgs(args, true)
52+
platformsRefs, err := arguments.ParseReferences(args, true)
5353
if err != nil {
5454
feedback.Errorf("Invalid argument passed: %v", err)
5555
os.Exit(errorcodes.ErrBadArgument)

cli/core/install.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import (
1919
"context"
2020
"os"
2121

22+
"github.com/arduino/arduino-cli/cli/arguments"
2223
"github.com/arduino/arduino-cli/cli/errorcodes"
2324
"github.com/arduino/arduino-cli/cli/feedback"
24-
"github.com/arduino/arduino-cli/cli/globals"
2525
"github.com/arduino/arduino-cli/cli/instance"
2626
"github.com/arduino/arduino-cli/cli/output"
2727
"github.com/arduino/arduino-cli/commands/core"
@@ -86,7 +86,7 @@ func runInstallCommand(cmd *cobra.Command, args []string) {
8686
inst := instance.CreateAndInit()
8787
logrus.Info("Executing `arduino core install`")
8888

89-
platformsRefs, err := globals.ParseReferenceArgs(args, true)
89+
platformsRefs, err := arguments.ParseReferences(args, true)
9090
if err != nil {
9191
feedback.Errorf("Invalid argument passed: %v", err)
9292
os.Exit(errorcodes.ErrBadArgument)

cli/core/uninstall.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import (
1919
"context"
2020
"os"
2121

22+
"github.com/arduino/arduino-cli/cli/arguments"
2223
"github.com/arduino/arduino-cli/cli/errorcodes"
2324
"github.com/arduino/arduino-cli/cli/feedback"
24-
"github.com/arduino/arduino-cli/cli/globals"
2525
"github.com/arduino/arduino-cli/cli/instance"
2626
"github.com/arduino/arduino-cli/cli/output"
2727
"github.com/arduino/arduino-cli/commands/core"
@@ -45,7 +45,7 @@ func runUninstallCommand(cmd *cobra.Command, args []string) {
4545
inst := instance.CreateAndInit()
4646
logrus.Info("Executing `arduino core uninstall`")
4747

48-
platformsRefs, err := globals.ParseReferenceArgs(args, true)
48+
platformsRefs, err := arguments.ParseReferences(args, true)
4949
if err != nil {
5050
feedback.Errorf("Invalid argument passed: %v", err)
5151
os.Exit(errorcodes.ErrBadArgument)

cli/core/upgrade.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import (
1919
"context"
2020
"os"
2121

22+
"github.com/arduino/arduino-cli/cli/arguments"
2223
"github.com/arduino/arduino-cli/cli/errorcodes"
2324
"github.com/arduino/arduino-cli/cli/feedback"
24-
"github.com/arduino/arduino-cli/cli/globals"
2525
"github.com/arduino/arduino-cli/cli/instance"
2626
"github.com/arduino/arduino-cli/cli/output"
2727
"github.com/arduino/arduino-cli/commands/core"
@@ -73,7 +73,7 @@ func runUpgradeCommand(cmd *cobra.Command, args []string) {
7373

7474
// proceed upgrading, if anything is upgradable
7575
exitErr := false
76-
platformsRefs, err := globals.ParseReferenceArgs(args, true)
76+
platformsRefs, err := arguments.ParseReferences(args, true)
7777
if err != nil {
7878
feedback.Errorf("Invalid argument passed: %v", err)
7979
os.Exit(errorcodes.ErrBadArgument)

0 commit comments

Comments
 (0)