Skip to content

Commit 729fd27

Browse files
committed
Moved errors in their own package
1 parent 30dd6b2 commit 729fd27

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+290
-290
lines changed

commands/board/details.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ package board
1818
import (
1919
"context"
2020

21+
"github.com/arduino/arduino-cli/commands/cmderrors"
2122
"github.com/arduino/arduino-cli/commands/internal/instances"
22-
"github.com/arduino/arduino-cli/internal/arduino"
2323
"github.com/arduino/arduino-cli/internal/arduino/cores"
2424
"github.com/arduino/arduino-cli/internal/arduino/utils"
2525
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
@@ -30,18 +30,18 @@ import (
3030
func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) {
3131
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
3232
if pme == nil {
33-
return nil, &arduino.InvalidInstanceError{}
33+
return nil, &cmderrors.InvalidInstanceError{}
3434
}
3535
defer release()
3636

3737
fqbn, err := cores.ParseFQBN(req.GetFqbn())
3838
if err != nil {
39-
return nil, &arduino.InvalidFQBNError{Cause: err}
39+
return nil, &cmderrors.InvalidFQBNError{Cause: err}
4040
}
4141

4242
boardPackage, boardPlatformRelease, board, boardProperties, _, err := pme.ResolveFQBN(fqbn)
4343
if err != nil {
44-
return nil, &arduino.UnknownFQBNError{Cause: err}
44+
return nil, &cmderrors.UnknownFQBNError{Cause: err}
4545
}
4646

4747
details := &rpc.BoardDetailsResponse{}

commands/board/list.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import (
2626
"strings"
2727
"time"
2828

29+
"github.com/arduino/arduino-cli/commands/cmderrors"
2930
"github.com/arduino/arduino-cli/commands/internal/instances"
30-
"github.com/arduino/arduino-cli/internal/arduino"
3131
"github.com/arduino/arduino-cli/internal/arduino/cores"
3232
"github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager"
3333
"github.com/arduino/arduino-cli/internal/arduino/discovery"
@@ -151,7 +151,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL
151151
for _, board := range pme.IdentifyBoard(port.Properties) {
152152
fqbn, err := cores.ParseFQBN(board.FQBN())
153153
if err != nil {
154-
return nil, &arduino.InvalidFQBNError{Cause: err}
154+
return nil, &cmderrors.InvalidFQBNError{Cause: err}
155155
}
156156
fqbn.Configs = board.IdentifyBoardConfiguration(port.Properties)
157157

@@ -207,7 +207,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL
207207
func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartErrors []error, e error) {
208208
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
209209
if pme == nil {
210-
return nil, nil, &arduino.InvalidInstanceError{}
210+
return nil, nil, &cmderrors.InvalidInstanceError{}
211211
}
212212
defer release()
213213

@@ -216,7 +216,7 @@ func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartError
216216
var err error
217217
fqbnFilter, err = cores.ParseFQBN(f)
218218
if err != nil {
219-
return nil, nil, &arduino.InvalidFQBNError{Cause: err}
219+
return nil, nil, &cmderrors.InvalidFQBNError{Cause: err}
220220
}
221221
}
222222

@@ -262,7 +262,7 @@ func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool {
262262
func Watch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.BoardListWatchResponse, error) {
263263
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
264264
if pme == nil {
265-
return nil, &arduino.InvalidInstanceError{}
265+
return nil, &cmderrors.InvalidInstanceError{}
266266
}
267267
defer release()
268268
dm := pme.DiscoveryManager()

commands/board/listall.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import (
2121
"strings"
2222

2323
"github.com/arduino/arduino-cli/commands"
24+
"github.com/arduino/arduino-cli/commands/cmderrors"
2425
"github.com/arduino/arduino-cli/commands/internal/instances"
25-
"github.com/arduino/arduino-cli/internal/arduino"
2626
"github.com/arduino/arduino-cli/internal/arduino/cores"
2727
"github.com/arduino/arduino-cli/internal/arduino/utils"
2828
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
@@ -32,7 +32,7 @@ import (
3232
func ListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) {
3333
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
3434
if pme == nil {
35-
return nil, &arduino.InvalidInstanceError{}
35+
return nil, &cmderrors.InvalidInstanceError{}
3636
}
3737
defer release()
3838

commands/board/search.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import (
2121
"strings"
2222

2323
"github.com/arduino/arduino-cli/commands"
24+
"github.com/arduino/arduino-cli/commands/cmderrors"
2425
"github.com/arduino/arduino-cli/commands/internal/instances"
25-
"github.com/arduino/arduino-cli/internal/arduino"
2626
"github.com/arduino/arduino-cli/internal/arduino/utils"
2727
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
2828
)
@@ -34,7 +34,7 @@ import (
3434
func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) {
3535
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
3636
if pme == nil {
37-
return nil, &arduino.InvalidInstanceError{}
37+
return nil, &cmderrors.InvalidInstanceError{}
3838
}
3939
defer release()
4040

internal/arduino/errors.go renamed to commands/cmderrors/cmderrors.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// Arduino software without disclosing the source code of your own applications.
1414
// To purchase a commercial license, send an email to license@arduino.cc.
1515

16-
package arduino
16+
package cmderrors
1717

1818
import (
1919
"fmt"

commands/compile/compile.go

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ import (
2323
"sort"
2424
"strings"
2525

26+
"github.com/arduino/arduino-cli/commands/cmderrors"
2627
"github.com/arduino/arduino-cli/commands/internal/instances"
2728
"github.com/arduino/arduino-cli/i18n"
28-
"github.com/arduino/arduino-cli/internal/arduino"
2929
"github.com/arduino/arduino-cli/internal/arduino/builder"
3030
"github.com/arduino/arduino-cli/internal/arduino/cores"
3131
"github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager"
@@ -59,23 +59,23 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
5959

6060
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
6161
if pme == nil {
62-
return nil, &arduino.InvalidInstanceError{}
62+
return nil, &cmderrors.InvalidInstanceError{}
6363
}
6464
defer release()
6565

6666
lm := instances.GetLibraryManager(req.GetInstance())
6767
if lm == nil {
68-
return nil, &arduino.InvalidInstanceError{}
68+
return nil, &cmderrors.InvalidInstanceError{}
6969
}
7070

7171
logrus.Tracef("Compile %s for %s started", req.GetSketchPath(), req.GetFqbn())
7272
if req.GetSketchPath() == "" {
73-
return nil, &arduino.MissingSketchPathError{}
73+
return nil, &cmderrors.MissingSketchPathError{}
7474
}
7575
sketchPath := paths.New(req.GetSketchPath())
7676
sk, err := sketch.New(sketchPath)
7777
if err != nil {
78-
return nil, &arduino.CantOpenSketchError{Cause: err}
78+
return nil, &cmderrors.CantOpenSketchError{Cause: err}
7979
}
8080

8181
fqbnIn := req.GetFqbn()
@@ -87,22 +87,22 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
8787
}
8888
}
8989
if fqbnIn == "" {
90-
return nil, &arduino.MissingFQBNError{}
90+
return nil, &cmderrors.MissingFQBNError{}
9191
}
9292

9393
fqbn, err := cores.ParseFQBN(fqbnIn)
9494
if err != nil {
95-
return nil, &arduino.InvalidFQBNError{Cause: err}
95+
return nil, &cmderrors.InvalidFQBNError{Cause: err}
9696
}
9797
_, targetPlatform, targetBoard, boardBuildProperties, buildPlatform, err := pme.ResolveFQBN(fqbn)
9898
if err != nil {
9999
if targetPlatform == nil {
100-
return nil, &arduino.PlatformNotFoundError{
100+
return nil, &cmderrors.PlatformNotFoundError{
101101
Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch),
102102
Cause: fmt.Errorf(tr("platform not installed")),
103103
}
104104
}
105-
return nil, &arduino.InvalidFQBNError{Cause: err}
105+
return nil, &cmderrors.InvalidFQBNError{Cause: err}
106106
}
107107

108108
r = &rpc.CompileResponse{}
@@ -145,7 +145,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
145145
buildPath = sk.DefaultBuildPath()
146146
}
147147
if err = buildPath.MkdirAll(); err != nil {
148-
return nil, &arduino.PermissionDeniedError{Message: tr("Cannot create build directory"), Cause: err}
148+
return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build directory"), Cause: err}
149149
}
150150
buildcache.New(buildPath.Parent()).GetOrCreate(buildPath.Base())
151151
// cache is purged after compilation to not remove entries that might be required
@@ -157,10 +157,10 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
157157
} else {
158158
buildCachePath, err := paths.New(req.GetBuildCachePath()).Abs()
159159
if err != nil {
160-
return nil, &arduino.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err}
160+
return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err}
161161
}
162162
if err := buildCachePath.MkdirAll(); err != nil {
163-
return nil, &arduino.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err}
163+
return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err}
164164
}
165165
coreBuildCachePath = buildCachePath.Join("core")
166166
}
@@ -203,14 +203,14 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
203203
)
204204
if err != nil {
205205
if strings.Contains(err.Error(), "invalid build properties") {
206-
return nil, &arduino.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err}
206+
return nil, &cmderrors.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err}
207207
}
208208
if errors.Is(err, builder.ErrSketchCannotBeLocatedInBuildPath) {
209-
return r, &arduino.CompileFailedError{
209+
return r, &cmderrors.CompileFailedError{
210210
Message: tr("Sketch cannot be located in build path. Please specify a different build path"),
211211
}
212212
}
213-
return r, &arduino.CompileFailedError{Message: err.Error()}
213+
return r, &cmderrors.CompileFailedError{Message: err.Error()}
214214
}
215215

216216
defer func() {
@@ -247,7 +247,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
247247
// Just output preprocessed source code and exit
248248
preprocessedSketch, err := sketchBuilder.Preprocess()
249249
if err != nil {
250-
err = &arduino.CompileFailedError{Message: err.Error()}
250+
err = &cmderrors.CompileFailedError{Message: err.Error()}
251251
return r, err
252252
}
253253
_, err = outStream.Write(preprocessedSketch)
@@ -293,7 +293,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
293293
}
294294

295295
if err := sketchBuilder.Build(); err != nil {
296-
return r, &arduino.CompileFailedError{Message: err.Error()}
296+
return r, &cmderrors.CompileFailedError{Message: err.Error()}
297297
}
298298

299299
// If the export directory is set we assume you want to export the binaries
@@ -321,23 +321,23 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
321321
if !buildPath.EqualsTo(exportPath) {
322322
logrus.WithField("path", exportPath).Trace("Saving sketch to export path.")
323323
if err := exportPath.MkdirAll(); err != nil {
324-
return r, &arduino.PermissionDeniedError{Message: tr("Error creating output dir"), Cause: err}
324+
return r, &cmderrors.PermissionDeniedError{Message: tr("Error creating output dir"), Cause: err}
325325
}
326326

327327
baseName, ok := sketchBuilder.GetBuildProperties().GetOk("build.project_name") // == "sketch.ino"
328328
if !ok {
329-
return r, &arduino.MissingPlatformPropertyError{Property: "build.project_name"}
329+
return r, &cmderrors.MissingPlatformPropertyError{Property: "build.project_name"}
330330
}
331331
buildFiles, err := sketchBuilder.GetBuildPath().ReadDir()
332332
if err != nil {
333-
return r, &arduino.PermissionDeniedError{Message: tr("Error reading build directory"), Cause: err}
333+
return r, &cmderrors.PermissionDeniedError{Message: tr("Error reading build directory"), Cause: err}
334334
}
335335
buildFiles.FilterPrefix(baseName)
336336
for _, buildFile := range buildFiles {
337337
exportedFile := exportPath.Join(buildFile.Base())
338338
logrus.WithField("src", buildFile).WithField("dest", exportedFile).Trace("Copying artifact.")
339339
if err = buildFile.CopyTo(exportedFile); err != nil {
340-
return r, &arduino.PermissionDeniedError{Message: tr("Error copying output file %s", buildFile), Cause: err}
340+
return r, &cmderrors.PermissionDeniedError{Message: tr("Error copying output file %s", buildFile), Cause: err}
341341
}
342342
}
343343
}

commands/core/download.go

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

2121
"github.com/arduino/arduino-cli/commands"
22+
"github.com/arduino/arduino-cli/commands/cmderrors"
2223
"github.com/arduino/arduino-cli/commands/internal/instances"
2324
"github.com/arduino/arduino-cli/i18n"
24-
"github.com/arduino/arduino-cli/internal/arduino"
2525
"github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager"
2626
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
2727
)
@@ -32,13 +32,13 @@ var tr = i18n.Tr
3232
func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.PlatformDownloadResponse, error) {
3333
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
3434
if pme == nil {
35-
return nil, &arduino.InvalidInstanceError{}
35+
return nil, &cmderrors.InvalidInstanceError{}
3636
}
3737
defer release()
3838

3939
version, err := commands.ParseVersion(req)
4040
if err != nil {
41-
return nil, &arduino.InvalidVersionError{Cause: err}
41+
return nil, &cmderrors.InvalidVersionError{Cause: err}
4242
}
4343

4444
ref := &packagemanager.PlatformReference{
@@ -48,7 +48,7 @@ func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, dow
4848
}
4949
platform, tools, err := pme.FindPlatformReleaseDependencies(ref)
5050
if err != nil {
51-
return nil, &arduino.PlatformNotFoundError{Platform: ref.String(), Cause: err}
51+
return nil, &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err}
5252
}
5353

5454
if err := pme.DownloadPlatformRelease(platform, nil, downloadCB); err != nil {

commands/core/install.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import (
2020
"fmt"
2121

2222
"github.com/arduino/arduino-cli/commands"
23+
"github.com/arduino/arduino-cli/commands/cmderrors"
2324
"github.com/arduino/arduino-cli/commands/internal/instances"
24-
"github.com/arduino/arduino-cli/internal/arduino"
2525
"github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager"
2626
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
2727
)
@@ -31,13 +31,13 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl
3131
install := func() error {
3232
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
3333
if pme == nil {
34-
return &arduino.InvalidInstanceError{}
34+
return &cmderrors.InvalidInstanceError{}
3535
}
3636
defer release()
3737

3838
version, err := commands.ParseVersion(req)
3939
if err != nil {
40-
return &arduino.InvalidVersionError{Cause: err}
40+
return &cmderrors.InvalidVersionError{Cause: err}
4141
}
4242

4343
ref := &packagemanager.PlatformReference{
@@ -47,7 +47,7 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl
4747
}
4848
platformRelease, tools, err := pme.FindPlatformReleaseDependencies(ref)
4949
if err != nil {
50-
return &arduino.PlatformNotFoundError{Platform: ref.String(), Cause: err}
50+
return &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err}
5151
}
5252

5353
// Prerequisite checks before install

commands/core/search.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import (
2121
"strings"
2222

2323
"github.com/arduino/arduino-cli/commands"
24+
"github.com/arduino/arduino-cli/commands/cmderrors"
2425
"github.com/arduino/arduino-cli/commands/internal/instances"
25-
"github.com/arduino/arduino-cli/internal/arduino"
2626
"github.com/arduino/arduino-cli/internal/arduino/cores"
2727
"github.com/arduino/arduino-cli/internal/arduino/utils"
2828
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
@@ -32,7 +32,7 @@ import (
3232
func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) {
3333
pme, release := instances.GetPackageManagerExplorer(req.GetInstance())
3434
if pme == nil {
35-
return nil, &arduino.InvalidInstanceError{}
35+
return nil, &cmderrors.InvalidInstanceError{}
3636
}
3737
defer release()
3838

0 commit comments

Comments
 (0)