Skip to content

Commit 19066e1

Browse files
committed
[breaking] remove parseArch var since it is always true
1 parent d458040 commit 19066e1

File tree

7 files changed

+34
-26
lines changed

7 files changed

+34
-26
lines changed

cli/arguments/reference.go

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ func (r *Reference) String() string {
3737

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

52-
// ParseReference parses a string and returns a Reference object. If `parseArch` is passed,
53-
// the method also tries to parse the architecture bit, i.e. string must be in the form
54-
// "packager:arch@version", useful to represent a platform (or core) name.
55-
func ParseReference(arg string, parseArch bool) (*Reference, error) {
52+
// ParseReference parses a string and returns a Reference object.
53+
func ParseReference(arg string) (*Reference, error) {
5654
ret := &Reference{}
5755
if arg == "" {
5856
return nil, fmt.Errorf(tr("invalid empty core argument"))
@@ -69,20 +67,18 @@ func ParseReference(arg string, parseArch bool) (*Reference, error) {
6967
ret.Version = toks[1]
7068
}
7169

72-
if parseArch {
73-
toks = strings.Split(ret.PackageName, ":")
74-
if len(toks) != 2 {
75-
return nil, fmt.Errorf(tr("invalid item %s"), arg)
76-
}
77-
if toks[0] == "" {
78-
return nil, fmt.Errorf(tr("invalid empty core name '%s'"), arg)
79-
}
80-
ret.PackageName = toks[0]
81-
if toks[1] == "" {
82-
return nil, fmt.Errorf(tr("invalid empty core architecture '%s'"), arg)
83-
}
84-
ret.Architecture = toks[1]
70+
toks = strings.Split(ret.PackageName, ":")
71+
if len(toks) != 2 {
72+
return nil, fmt.Errorf(tr("invalid item %s"), arg)
73+
}
74+
if toks[0] == "" {
75+
return nil, fmt.Errorf(tr("invalid empty core name '%s'"), arg)
76+
}
77+
ret.PackageName = toks[0]
78+
if toks[1] == "" {
79+
return nil, fmt.Errorf(tr("invalid empty core architecture '%s'"), arg)
8580
}
81+
ret.Architecture = toks[1]
8682

8783
return ret, nil
8884
}

cli/arguments/reference_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ func TestArgsStringify(t *testing.T) {
5353

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

6161
for _, tt := range badCores {
62-
actual, err := arguments.ParseReference(tt.in, true)
62+
actual, err := arguments.ParseReference(tt.in)
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 := arguments.ParseReferences(input, true)
74+
refs, err := arguments.ParseReferences(input)
7575
assert.Nil(t, err)
7676
assert.Equal(t, len(goodCores), len(refs))
7777

cli/core/download.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func runDownloadCommand(cmd *cobra.Command, args []string) {
5353

5454
logrus.Info("Executing `arduino-cli core download`")
5555

56-
platformsRefs, err := arguments.ParseReferences(args, true)
56+
platformsRefs, err := arguments.ParseReferences(args)
5757
if err != nil {
5858
feedback.Errorf(tr("Invalid argument passed: %v"), err)
5959
os.Exit(errorcodes.ErrBadArgument)

cli/core/install.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func runInstallCommand(cmd *cobra.Command, args []string) {
6161
inst := instance.CreateAndInit()
6262
logrus.Info("Executing `arduino-cli core install`")
6363

64-
platformsRefs, err := arguments.ParseReferences(args, true)
64+
platformsRefs, err := arguments.ParseReferences(args)
6565
if err != nil {
6666
feedback.Errorf(tr("Invalid argument passed: %v"), err)
6767
os.Exit(errorcodes.ErrBadArgument)

cli/core/uninstall.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func runUninstallCommand(cmd *cobra.Command, args []string) {
5050
inst := instance.CreateAndInit()
5151
logrus.Info("Executing `arduino-cli core uninstall`")
5252

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

cli/core/upgrade.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func runUpgradeCommand(cmd *cobra.Command, args []string) {
7676

7777
// proceed upgrading, if anything is upgradable
7878
exitErr := false
79-
platformsRefs, err := arguments.ParseReferences(args, true)
79+
platformsRefs, err := arguments.ParseReferences(args)
8080
if err != nil {
8181
feedback.Errorf(tr("Invalid argument passed: %v"), err)
8282
os.Exit(errorcodes.ErrBadArgument)

docs/UPGRADING.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
Here you can find a list of migration guides to handle breaking changes between releases of the CLI.
44

5+
## Unreleased
6+
7+
### `ParseReferences() function change in `arduino-cli` package
8+
9+
The `parseArch` parameter was removed since it was unused and was always true. This means that the architecture gets
10+
always parsed by the function.
11+
12+
### `ParseReference() function change in `arduino-cli` package
13+
14+
The `parseArch` parameter was removed since it was unused and was always true. This means that the architecture gets
15+
always parsed by the function.
16+
517
## 0.20.0
618

719
### `board details` arguments change

0 commit comments

Comments
 (0)