Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(23)

Unified Diff: environs/tools/list.go

Issue 8663045: upgrade-juju: improvements
Patch Set: upgrade-juju: improvements Created 12 years ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « environs/tools.go ('k') | environs/tools/list_test.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: environs/tools/list.go
=== modified file 'environs/tools/list.go'
--- environs/tools/list.go 2013-04-15 01:01:43 +0000
+++ environs/tools/list.go 2013-04-16 01:19:41 +0000
@@ -1,6 +1,7 @@
package tools
import (
+ "launchpad.net/juju-core/log"
"launchpad.net/juju-core/state"
"launchpad.net/juju-core/utils/set"
"launchpad.net/juju-core/version"
@@ -44,8 +45,17 @@
return seen.SortedValues()
}
-// Newest returns the tools in src with the greatest version.
-func (src List) Newest() List {
+// URLs returns download URLs for the tools in src, keyed by binary version.
+func (src List) URLs() map[version.Binary]string {
+ result := map[version.Binary]string{}
+ for _, tools := range src {
+ result[tools.Binary] = tools.URL
+ }
+ return result
+}
+
+// Newest returns the greatest version in src, and the tools with that version.
+func (src List) Newest() (version.Number, List) {
var result List
var best version.Number
for _, tools := range src {
@@ -57,7 +67,7 @@
result = append(result, tools)
}
}
- return result
+ return best, result
}
// Difference returns the tools in src that are not in excluded.
@@ -85,6 +95,7 @@
}
}
if len(result) == 0 {
+ log.Errorf("environs/tools: cannot match %#v", f)
return nil, ErrNoMatches
}
return result, nil
@@ -115,7 +126,7 @@
if f.Released && tools.IsDev() {
return false
}
- if f.Number != (version.Number{}) && tools.Number != f.Number {
+ if f.Number != version.Zero && tools.Number != f.Number {
return false
}
if f.Series != "" && tools.Series != f.Series {
« no previous file with comments | « environs/tools.go ('k') | environs/tools/list_test.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b