Skip to content

Commit

Permalink
Moved discovery client implementation into his own library
Browse files Browse the repository at this point in the history
  • Loading branch information
cmaglie committed Feb 9, 2024
1 parent 2b2394e commit 094d429
Show file tree
Hide file tree
Showing 14 changed files with 777 additions and 604 deletions.

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions commands/board/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ import (
"github.com/arduino/arduino-cli/commands/internal/instances"
"github.com/arduino/arduino-cli/internal/arduino/cores"
"github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager"
"github.com/arduino/arduino-cli/internal/arduino/discovery"
"github.com/arduino/arduino-cli/internal/arduino/httpclient"
"github.com/arduino/arduino-cli/internal/inventory"
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
"github.com/arduino/go-properties-orderedmap"
discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2"
"github.com/sirupsen/logrus"
)

Expand Down Expand Up @@ -234,7 +234,7 @@ func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartError
// boards slice can be empty at this point if neither the cores nor the
// API managed to recognize the connected board
b := &rpc.DetectedPort{
Port: port.ToRPC(),
Port: rpc.DiscoveryPortToRPC(port),
MatchingBoards: boards,
}

Expand Down Expand Up @@ -283,7 +283,7 @@ func Watch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.Boa
defer close(outChan)
for event := range watcher.Feed() {
port := &rpc.DetectedPort{
Port: event.Port.ToRPC(),
Port: rpc.DiscoveryPortToRPC(event.Port),
}

boardsError := ""
Expand Down
2 changes: 1 addition & 1 deletion commands/board/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ import (
"testing"

"github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager"
"github.com/arduino/arduino-cli/internal/arduino/discovery"
"github.com/arduino/arduino-cli/internal/cli/configuration"
"github.com/arduino/go-paths-helper"
"github.com/arduino/go-properties-orderedmap"
discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2"
"github.com/stretchr/testify/require"
semver "go.bug.st/relaxed-semver"
)
Expand Down
6 changes: 3 additions & 3 deletions commands/upload/upload.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ import (
f "github.com/arduino/arduino-cli/internal/algorithms"
"github.com/arduino/arduino-cli/internal/arduino/cores"
"github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager"
"github.com/arduino/arduino-cli/internal/arduino/discovery"
"github.com/arduino/arduino-cli/internal/arduino/globals"
"github.com/arduino/arduino-cli/internal/arduino/serialutils"
"github.com/arduino/arduino-cli/internal/arduino/sketch"
"github.com/arduino/arduino-cli/internal/i18n"
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
paths "github.com/arduino/go-paths-helper"
properties "github.com/arduino/go-properties-orderedmap"
discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2"
"github.com/sirupsen/logrus"
)

Expand Down Expand Up @@ -209,7 +209,7 @@ func runProgramAction(pme *packagemanager.Explorer,
outStream, errStream io.Writer,
dryRun bool, userFields map[string]string,
) (*rpc.Port, error) {
port := discovery.PortFromRPCPort(userPort)
port := rpc.DiscoveryPortFromRPCPort(userPort)
if port == nil || (port.Address == "" && port.Protocol == "") {
// For no-port uploads use "default" protocol
port = &discovery.Port{Protocol: "default"}
Expand Down Expand Up @@ -528,7 +528,7 @@ func runProgramAction(pme *packagemanager.Explorer,
// If the algorithms can not detect the new port, fallback to the user-provided port.
return userPort, nil
}
return updatedPort.ToRPC(), nil
return rpc.DiscoveryPortToRPC(updatedPort), nil
}

func detectUploadPort(
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ require (
github.com/arduino/go-properties-orderedmap v1.8.0
github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b
github.com/arduino/go-win32-utils v1.0.0
github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2
github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.3-0.20240209111235-2b24b07045a5
github.com/arduino/pluggable-monitor-protocol-handler v0.9.2
github.com/cmaglie/pb v1.0.27
github.com/codeclysm/extract/v3 v3.1.1
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6
github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ=
github.com/arduino/go-win32-utils v1.0.0 h1:/cXB86sOJxOsCHP7sQmXGLkdValwJt56mIwOHYxgQjQ=
github.com/arduino/go-win32-utils v1.0.0/go.mod h1:0jqM7doGEAs6DaJCxxhLBUDS5OawrqF48HqXkcEie/Q=
github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2 h1:Yrljx84UtFilOCpe+xE6+OFDyWyhghYpP/4A7vzQneM=
github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y=
github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.3-0.20240209111235-2b24b07045a5 h1:DT4xSabkgleQzdXexycKcROLhsIHZGWFl8Mxu5c2+cI=
github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.3-0.20240209111235-2b24b07045a5/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y=
github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4AdBxcC9dJLXasRimVqaComf9L3M=
github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
Expand Down
7 changes: 2 additions & 5 deletions internal/arduino/cores/packagemanager/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import (

"github.com/arduino/arduino-cli/commands/cmderrors"
"github.com/arduino/arduino-cli/internal/arduino/cores"
"github.com/arduino/arduino-cli/internal/arduino/discovery"
"github.com/arduino/arduino-cli/internal/cli/configuration"
"github.com/arduino/go-paths-helper"
properties "github.com/arduino/go-properties-orderedmap"
Expand Down Expand Up @@ -636,8 +635,7 @@ func (pme *Explorer) loadDiscovery(id string) error {
return errors.New(tr("discovery %s not installed", id))
}
discoveryPath := toolRelease.InstallDir.Join(tool.Name).String()
d := discovery.New(id, discoveryPath)
pme.discoveryManager.Add(d)
pme.discoveryManager.Add(id, discoveryPath)
return nil
}

Expand Down Expand Up @@ -713,8 +711,7 @@ func (pme *Explorer) loadDiscoveries(release *cores.PlatformRelease) []error {
if cmdArgs, err := properties.SplitQuotedString(cmd, `"'`, true); err != nil {
merr = append(merr, err)
} else {
d := discovery.New(discoveryID, cmdArgs...)
pme.discoveryManager.Add(d)
pme.discoveryManager.Add(discoveryID, cmdArgs...)
}
}

Expand Down
Loading

0 comments on commit 094d429

Please sign in to comment.