Skip to content

Commit 02060b2

Browse files
simplify GetLatestCompatibleRelease
1 parent 34a7ce8 commit 02060b2

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

Diff for: arduino/cores/cores.go

+17-3
Original file line numberDiff line numberDiff line change
@@ -231,11 +231,25 @@ func (platform *Platform) GetLatestRelease() *PlatformRelease {
231231
// GetLatestCompatibleRelease returns the latest compatible release of this platform, or nil if no
232232
// compatible releases are available.
233233
func (platform *Platform) GetLatestCompatibleRelease() *PlatformRelease {
234-
latestVersion := platform.latestCompatibleReleaseVersion()
235-
if latestVersion == nil {
234+
if len(platform.Releases) == 0 {
236235
return nil
237236
}
238-
return platform.FindReleaseWithVersion(latestVersion)
237+
maximum := &PlatformRelease{Version: &semver.Version{}}
238+
for _, release := range platform.Releases {
239+
if release.Incompatible {
240+
continue
241+
}
242+
if release.Version.GreaterThan(maximum.Version) {
243+
maximum = release
244+
}
245+
}
246+
247+
// In case no compatible versions found return nil
248+
if maximum.Version.Equal(&semver.Version{}) {
249+
return nil
250+
}
251+
252+
return maximum
239253
}
240254

241255
// GetAllReleases returns all the releases of this platform, or an empty

0 commit comments

Comments
 (0)