From 543c46b98c644dc7bbeba58a16823ecc0403b5b0 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Wed, 30 Sep 2020 16:46:32 +0200 Subject: [PATCH 1/4] Removed unused return error in cores.Platform.GetOrCreateRelease --- arduino/cores/cores.go | 6 +++--- arduino/cores/packageindex/index.go | 5 +---- arduino/cores/packagemanager/loader.go | 10 ++-------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/arduino/cores/cores.go b/arduino/cores/cores.go index 246bf8ee2e6..ea229d98244 100644 --- a/arduino/cores/cores.go +++ b/arduino/cores/cores.go @@ -112,13 +112,13 @@ func (dep *ToolDependency) String() string { // GetOrCreateRelease returns the specified release corresponding the provided version, // or creates a new one if not found. -func (platform *Platform) GetOrCreateRelease(version *semver.Version) (*PlatformRelease, error) { +func (platform *Platform) GetOrCreateRelease(version *semver.Version) *PlatformRelease { tag := "" if version != nil { tag = version.String() } if release, ok := platform.Releases[tag]; ok { - return release, nil + return release } release := &PlatformRelease{ Version: version, @@ -128,7 +128,7 @@ func (platform *Platform) GetOrCreateRelease(version *semver.Version) (*Platform Platform: platform, } platform.Releases[tag] = release - return release, nil + return release } // FindReleaseWithVersion returns the specified release corresponding the provided version, diff --git a/arduino/cores/packageindex/index.go b/arduino/cores/packageindex/index.go index 2dabff7f9e1..2ba2db08fd5 100644 --- a/arduino/cores/packageindex/index.go +++ b/arduino/cores/packageindex/index.go @@ -210,10 +210,7 @@ func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *core if err != nil { return fmt.Errorf("invalid platform archive size: %s", err) } - outPlatformRelease, err := outPlatform.GetOrCreateRelease(inPlatformRelease.Version) - if err != nil { - return fmt.Errorf("creating release: %s", err) - } + outPlatformRelease := outPlatform.GetOrCreateRelease(inPlatformRelease.Version) outPlatformRelease.IsTrusted = trusted outPlatformRelease.Resource = &resources.DownloadResource{ ArchiveFileName: inPlatformRelease.ArchiveFileName, diff --git a/arduino/cores/packagemanager/loader.go b/arduino/cores/packagemanager/loader.go index 499c9dac045..2b4133e7cf5 100644 --- a/arduino/cores/packagemanager/loader.go +++ b/arduino/cores/packagemanager/loader.go @@ -210,10 +210,7 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageDir } platform := targetPackage.GetOrCreatePlatform(architecture) - release, err := platform.GetOrCreateRelease(version) - if err != nil { - return fmt.Errorf("loading platform release: %s", err) - } + release := platform.GetOrCreateRelease(version) release.IsIDEBundled = isIDEBundled if isIDEBundled { pm.Log.Infof("Package is built-in") @@ -246,10 +243,7 @@ func (pm *PackageManager) loadPlatforms(targetPackage *cores.Package, packageDir if err != nil { return fmt.Errorf("invalid version dir %s: %s", versionDir, err) } - release, err := platform.GetOrCreateRelease(version) - if err != nil { - return fmt.Errorf("loading platform release %s: %s", versionDir, err) - } + release := platform.GetOrCreateRelease(version) if err := pm.loadPlatformRelease(release, versionDir); err != nil { return fmt.Errorf("loading platform release %s: %s", versionDir, err) } From 9ac3b5d9a23b24bedd54ed7b60d2508a08ab20f7 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Thu, 22 Oct 2020 15:00:48 +0200 Subject: [PATCH 2/4] cosmetic: renamed variables in commands/bundled_tools_serial_discovery.go --- commands/bundled_tools_serial_discovery.go | 42 +++++++++++----------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/commands/bundled_tools_serial_discovery.go b/commands/bundled_tools_serial_discovery.go index 115c5e1f2d6..b1c11bfd690 100644 --- a/commands/bundled_tools_serial_discovery.go +++ b/commands/bundled_tools_serial_discovery.go @@ -18,7 +18,6 @@ package commands import ( "encoding/json" "fmt" - "sync" "time" "github.com/arduino/arduino-cli/arduino/cores" @@ -32,14 +31,13 @@ import ( ) var ( - mutex = sync.Mutex{} - sdVersion = semver.ParseRelaxed("1.1.0") - flavors = []*cores.Flavor{ + serialDiscoveryVersion = semver.ParseRelaxed("1.1.0") + serialDiscoveryFlavors = []*cores.Flavor{ { OS: "i686-pc-linux-gnu", Resource: &resources.DownloadResource{ - ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_32bit.tar.bz2", sdVersion), - URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_32bit.tar.bz2", sdVersion), + ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_32bit.tar.bz2", serialDiscoveryVersion), + URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_32bit.tar.bz2", serialDiscoveryVersion), Size: 1589443, Checksum: "SHA-256:e60fa16da2735f80410c636234a405bd1cc9306090cab4e312c4189e38f93f72", CachePath: "tools", @@ -48,8 +46,8 @@ var ( { OS: "x86_64-pc-linux-gnu", Resource: &resources.DownloadResource{ - ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_64bit.tar.bz2", sdVersion), - URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_64bit.tar.bz2", sdVersion), + ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_64bit.tar.bz2", serialDiscoveryVersion), + URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_64bit.tar.bz2", serialDiscoveryVersion), Size: 1611875, Checksum: "SHA-256:6232f852543094e9f73e1994e6888646fdcd24eca15fd4e5bde716a8e23046dc", CachePath: "tools", @@ -58,8 +56,8 @@ var ( { OS: "i686-mingw32", Resource: &resources.DownloadResource{ - ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Windows_32bit.zip", sdVersion), - URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Windows_32bit.zip", sdVersion), + ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Windows_32bit.zip", serialDiscoveryVersion), + URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Windows_32bit.zip", serialDiscoveryVersion), Size: 1719070, Checksum: "SHA-256:3efdc744a0ca11c5f9088525eb4363e90e2b6a43a0db23c5c6975a10d739c7cb", CachePath: "tools", @@ -68,8 +66,8 @@ var ( { OS: "x86_64-mingw32", Resource: &resources.DownloadResource{ - ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Windows_64bit.zip", sdVersion), - URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Windows_64bit.zip", sdVersion), + ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Windows_64bit.zip", serialDiscoveryVersion), + URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Windows_64bit.zip", serialDiscoveryVersion), Size: 1683799, Checksum: "SHA-256:c6296b92459160f4c0bf7d2e1234cd53fd64f44cb3fa8c3a4b10dd6670466c69", CachePath: "tools", @@ -78,8 +76,8 @@ var ( { OS: "x86_64-apple-darwin", Resource: &resources.DownloadResource{ - ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_macOS_64bit.tar.bz2", sdVersion), - URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_macOS_64bit.tar.bz2", sdVersion), + ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_macOS_64bit.tar.bz2", serialDiscoveryVersion), + URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_macOS_64bit.tar.bz2", serialDiscoveryVersion), Size: 1620346, Checksum: "SHA-256:4052a64dd68090726247dea7f03656eae951549df9878362dcedfcef116a9e9f", CachePath: "tools", @@ -88,8 +86,8 @@ var ( { OS: "arm-linux-gnueabihf", Resource: &resources.DownloadResource{ - ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_ARM.tar.bz2", sdVersion), - URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_ARM.tar.bz2", sdVersion), + ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_ARM.tar.bz2", serialDiscoveryVersion), + URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_ARM.tar.bz2", serialDiscoveryVersion), Size: 1511104, Checksum: "SHA-256:fe68fd5abdfebe0f01c48c3eac16d27af46ec2391da87de44571e6ea2dab31e7", CachePath: "tools", @@ -98,8 +96,8 @@ var ( { OS: "arm64-linux-gnueabihf", Resource: &resources.DownloadResource{ - ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_ARM64.tar.bz2", sdVersion), - URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_ARM64.tar.bz2", sdVersion), + ArchiveFileName: fmt.Sprintf("serial-discovery_v%s_Linux_ARM64.tar.bz2", serialDiscoveryVersion), + URL: fmt.Sprintf("https://downloads.arduino.cc/tools/serial-discovery_v%s_Linux_ARM64.tar.bz2", serialDiscoveryVersion), Size: 1500998, Checksum: "SHA-256:1e6bcb6b7790d38863df15395c96baba239cb56233d7ef2d78bcb2b3efb1bc5d", CachePath: "tools", @@ -233,8 +231,8 @@ func WatchListBoards(pm *packagemanager.PackageManager) (<-chan *discovery.Event func getBuiltinSerialDiscoveryTool(pm *packagemanager.PackageManager) (*cores.ToolRelease, error) { builtinPackage := pm.Packages.GetOrCreatePackage("builtin") - ctagsTool := builtinPackage.GetOrCreateTool("serial-discovery") - ctagsRel := ctagsTool.GetOrCreateRelease(sdVersion) - ctagsRel.Flavors = flavors - return pm.Package("builtin").Tool("serial-discovery").Release(sdVersion).Get() + serialDiscoveryTool := builtinPackage.GetOrCreateTool("serial-discovery") + serialDiscoveryToolRel := serialDiscoveryTool.GetOrCreateRelease(serialDiscoveryVersion) + serialDiscoveryToolRel.Flavors = serialDiscoveryFlavors + return pm.Package("builtin").Tool("serial-discovery").Release(serialDiscoveryVersion).Get() } From 45eacd775b2c6037c7fe96e28daa9ffc556d2478 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 6 Oct 2020 11:12:15 +0200 Subject: [PATCH 3/4] fixed typo --- commands/instances.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/instances.go b/commands/instances.go index 304bc33b5e6..6768e7a54e7 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -115,7 +115,7 @@ func (instance *CoreInstance) checkForBuiltinTools(downloadCB DownloadProgressCB return err } - // Check for bultin serial-discovery tool + // Check for builtin serial-discovery tool serialDiscoveryTool, _ := getBuiltinSerialDiscoveryTool(instance.PackageManager) serialDiscoveryInstalled, err := instance.installToolIfMissing(serialDiscoveryTool, downloadCB, taskCB) if err != nil { From 051a80c437099b619ac8d3ce82fc0c8ad1b5feb4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Wed, 9 Dec 2020 16:16:38 +0100 Subject: [PATCH 4/4] Renamed mutex -> listBoardMutex --- commands/bundled_tools_serial_discovery.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/commands/bundled_tools_serial_discovery.go b/commands/bundled_tools_serial_discovery.go index b1c11bfd690..606614c83a4 100644 --- a/commands/bundled_tools_serial_discovery.go +++ b/commands/bundled_tools_serial_discovery.go @@ -18,6 +18,7 @@ package commands import ( "encoding/json" "fmt" + "sync" "time" "github.com/arduino/arduino-cli/arduino/cores" @@ -121,12 +122,14 @@ type eventJSON struct { Ports []*BoardPort `json:"ports"` } +var listBoardMutex sync.Mutex + // ListBoards foo func ListBoards(pm *packagemanager.PackageManager) ([]*BoardPort, error) { // ensure the connection to the discoverer is unique to avoid messing up // the messages exchanged - mutex.Lock() - defer mutex.Unlock() + listBoardMutex.Lock() + defer listBoardMutex.Unlock() // get the bundled tool t, err := getBuiltinSerialDiscoveryTool(pm)