Skip to content

Commit

Permalink
apply CR suggestions
Browse files Browse the repository at this point in the history
  • Loading branch information
alessio-perugini committed Nov 8, 2023
1 parent 2fca930 commit 55401e9
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 44 deletions.
25 changes: 7 additions & 18 deletions arduino/cores/cores.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,21 +236,15 @@ func (platform *Platform) GetLatestCompatibleRelease() *PlatformRelease {
if len(platform.Releases) == 0 {
return nil
}
maximum := &PlatformRelease{Version: &semver.Version{}}
var maximum *PlatformRelease
for _, release := range platform.Releases {
if !release.IsCompatible() {
continue
}
if release.Version.GreaterThan(maximum.Version) {
if maximum == nil || release.Version.GreaterThan(maximum.Version) {
maximum = release
}
}

// In case no compatible versions found return nil
if maximum.Version.Equal(&semver.Version{}) {
return nil
}

return maximum
}

Expand Down Expand Up @@ -306,18 +300,13 @@ func (platform *Platform) latestReleaseVersion() *semver.Version {
// latestCompatibleReleaseVersion obtains latest version number, for platforms that contains compatible tools, or nil if no release available
func (platform *Platform) latestCompatibleReleaseVersion() *semver.Version {
versions := platform.GetAllCompatibleReleasesVersions()
if len(versions) == 0 {
return nil
}
max := versions[0]

for i := 1; i < len(versions); i++ {
if versions[i].GreaterThan(max) {
max = versions[i]
var maxVer *semver.Version
for _, v := range versions {
if maxVer == nil || v.GreaterThan(maxVer) {
maxVer = v
}
}

return max
return maxVer
}

// GetAllInstalled returns all installed PlatformRelease
Expand Down
5 changes: 2 additions & 3 deletions internal/cli/arguments/completion.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,9 @@ func GetInstallableCores() []string {
var res []string
// transform the data structure for the completion
for _, i := range platforms.GetSearchOutput() {
if i.GetLatestCompatibleVersion() == "" {
continue
if latest := i.GetLatestCompatibleRelease(); latest != nil {
res = append(res, i.GetMetadata().GetId()+"\t"+latest.GetName())
}
res = append(res, i.GetMetadata().GetId()+"\t"+i.GetLatestCompatibleRelease().GetName())
}
return res
}
Expand Down
48 changes: 25 additions & 23 deletions internal/cli/core/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,33 +107,35 @@ func (sr searchResults) Data() interface{} {
}

func (sr searchResults) String() string {
if len(sr.platforms) > 0 {
t := table.New()
t.SetHeader(tr("ID"), tr("Version"), tr("Name"))
for _, platform := range sr.platforms {
// When allVersions is not requested we only show the latest compatible version
if !sr.allVersions {
if latestCompatible := platform.GetLatestCompatibleRelease(); latestCompatible != nil {
name := latestCompatible.Name
if latestCompatible.Deprecated {
name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), latestCompatible.Name)
}
t.AddRow(platform.Id, latestCompatible.Version, name)
}
continue
}
if len(sr.platforms) == 0 {
return tr("No platforms matching your search.")
}

t := table.New()
t.SetHeader(tr("ID"), tr("Version"), tr("Name"))

for _, release := range platform.Releases.Values() {
name := release.Name
if platform.Deprecated {
name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), release.Name)
}
t.AddRow(platform.Id, release.Version, name)
addRow := func(platform *result.PlatformSummary, release *result.PlatformRelease) {
name := release.Name
if release.Deprecated {
name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), release.Name)
}
t.AddRow(platform.Id, release.Version, name)
}

for _, platform := range sr.platforms {
// When allVersions is not requested we only show the latest compatible version
if !sr.allVersions {
if latestCompatible := platform.GetLatestCompatibleRelease(); latestCompatible != nil {
addRow(platform, latestCompatible)
}
continue
}

for _, release := range platform.Releases.Values() {
addRow(platform, release)
}
return t.Render()
}
return tr("No platforms matching your search.")
return t.Render()
}

// indexesNeedUpdating returns whether one or more index files need updating.
Expand Down

0 comments on commit 55401e9

Please sign in to comment.