Skip to content

Commit 4cd2b0a

Browse files
committed
Simplified implementation of Tool.LatestRelease/GetLatestInstalled methods
1 parent 7d7ade9 commit 4cd2b0a

File tree

1 file changed

+7
-24
lines changed

1 file changed

+7
-24
lines changed

arduino/cores/tools.go

+7-24
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,8 @@ func (tool *Tool) FindReleaseWithRelaxedVersion(version *semver.RelaxedVersion)
6868

6969
// GetAllReleasesVersions returns all the version numbers in this Core Package.
7070
func (tool *Tool) GetAllReleasesVersions() []*semver.RelaxedVersion {
71-
releases := tool.Releases
7271
versions := []*semver.RelaxedVersion{}
73-
for _, release := range releases {
72+
for _, release := range tool.Releases {
7473
versions = append(versions, release.Version)
7574
}
7675

@@ -79,37 +78,21 @@ func (tool *Tool) GetAllReleasesVersions() []*semver.RelaxedVersion {
7978

8079
// LatestRelease obtains latest version of a core package.
8180
func (tool *Tool) LatestRelease() *ToolRelease {
82-
latest := tool.latestReleaseVersion()
83-
if latest == nil {
84-
return nil
85-
}
86-
87-
return tool.FindReleaseWithRelaxedVersion(latest)
88-
}
89-
90-
// latestReleaseVersion obtains latest version number.
91-
func (tool *Tool) latestReleaseVersion() *semver.RelaxedVersion {
92-
versions := tool.GetAllReleasesVersions()
93-
if len(versions) == 0 {
94-
return nil
95-
}
96-
max := versions[0]
97-
for i := 1; i < len(versions); i++ {
98-
if versions[i].GreaterThan(max) {
99-
max = versions[i]
81+
var latest *ToolRelease
82+
for _, release := range tool.Releases {
83+
if latest == nil || release.Version.GreaterThan(latest.Version) {
84+
latest = release
10085
}
10186
}
102-
return max
87+
return latest
10388
}
10489

10590
// GetLatestInstalled returns the latest installed ToolRelease for the Tool, or nil if no releases are installed.
10691
func (tool *Tool) GetLatestInstalled() *ToolRelease {
10792
var latest *ToolRelease
10893
for _, release := range tool.Releases {
10994
if release.IsInstalled() {
110-
if latest == nil {
111-
latest = release
112-
} else if latest.Version.LessThan(release.Version) {
95+
if latest == nil || latest.Version.LessThan(release.Version) {
11396
latest = release
11497
}
11598
}

0 commit comments

Comments
 (0)