@@ -68,9 +68,8 @@ func (tool *Tool) FindReleaseWithRelaxedVersion(version *semver.RelaxedVersion)
68
68
69
69
// GetAllReleasesVersions returns all the version numbers in this Core Package.
70
70
func (tool * Tool ) GetAllReleasesVersions () []* semver.RelaxedVersion {
71
- releases := tool .Releases
72
71
versions := []* semver.RelaxedVersion {}
73
- for _ , release := range releases {
72
+ for _ , release := range tool . Releases {
74
73
versions = append (versions , release .Version )
75
74
}
76
75
@@ -79,37 +78,21 @@ func (tool *Tool) GetAllReleasesVersions() []*semver.RelaxedVersion {
79
78
80
79
// LatestRelease obtains latest version of a core package.
81
80
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
100
85
}
101
86
}
102
- return max
87
+ return latest
103
88
}
104
89
105
90
// GetLatestInstalled returns the latest installed ToolRelease for the Tool, or nil if no releases are installed.
106
91
func (tool * Tool ) GetLatestInstalled () * ToolRelease {
107
92
var latest * ToolRelease
108
93
for _ , release := range tool .Releases {
109
94
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 ) {
113
96
latest = release
114
97
}
115
98
}
0 commit comments