| OLD | NEW | 
|---|
| 1 // Copyright 2017 The LUCI Authors. All rights reserved. | 1 // Copyright 2017 The LUCI Authors. All rights reserved. | 
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 | 
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 package buildbucket | 5 package buildbucket | 
| 6 | 6 | 
| 7 import ( | 7 import ( | 
| 8         "errors" | 8         "errors" | 
| 9         "fmt" | 9         "fmt" | 
| 10 | 10 | 
| 11         "golang.org/x/net/context" | 11         "golang.org/x/net/context" | 
| 12 | 12 | 
| 13         "github.com/luci/luci-go/milo/api/resp" | 13         "github.com/luci/luci-go/milo/api/resp" | 
| 14         "github.com/luci/luci-go/milo/appengine/common" | 14         "github.com/luci/luci-go/milo/appengine/common" | 
| 15 ) | 15 ) | 
| 16 | 16 | 
| 17 func GetAllBuilders(c context.Context) (*resp.CIService, error) { | 17 func GetAllBuilders(c context.Context) (*resp.CIService, error) { | 
| 18         settings := common.GetSettings(c) | 18         settings := common.GetSettings(c) | 
| 19         bucketSettings := settings.Buildbucket | 19         bucketSettings := settings.Buildbucket | 
| 20         if bucketSettings == nil { | 20         if bucketSettings == nil { | 
| 21                 return nil, errors.New("buildbucket settings missing in config") | 21                 return nil, errors.New("buildbucket settings missing in config") | 
| 22         } | 22         } | 
| 23         result := &resp.CIService{ | 23         result := &resp.CIService{ | 
| 24                 Name: "Swarmbucket", | 24                 Name: "Swarmbucket", | 
| 25 »       »       Host: &resp.Link{ | 25 »       »       Host: resp.NewLink(bucketSettings.Name, "https://"+bucketSetting
    s.Host), | 
| 26 »       »       »       Label: bucketSettings.Name, |  | 
| 27 »       »       »       URL:   "https://" + bucketSettings.Host, |  | 
| 28 »       »       }, |  | 
| 29         } | 26         } | 
| 30         client, err := newSwarmbucketClient(c, bucketSettings.Host) | 27         client, err := newSwarmbucketClient(c, bucketSettings.Host) | 
| 31         if err != nil { | 28         if err != nil { | 
| 32                 return nil, err | 29                 return nil, err | 
| 33         } | 30         } | 
| 34         // TODO(hinoka): Retries for transient errors | 31         // TODO(hinoka): Retries for transient errors | 
| 35         r, err := client.GetBuilders().Do() | 32         r, err := client.GetBuilders().Do() | 
| 36         if err != nil { | 33         if err != nil { | 
| 37                 return nil, err | 34                 return nil, err | 
| 38         } | 35         } | 
| 39 | 36 | 
| 40         result.BuilderGroups = make([]resp.BuilderGroup, len(r.Buckets)) | 37         result.BuilderGroups = make([]resp.BuilderGroup, len(r.Buckets)) | 
| 41         for i, bucket := range r.Buckets { | 38         for i, bucket := range r.Buckets { | 
| 42                 group := resp.BuilderGroup{Name: bucket.Name} | 39                 group := resp.BuilderGroup{Name: bucket.Name} | 
| 43                 group.Builders = make([]resp.Link, len(bucket.Builders)) | 40                 group.Builders = make([]resp.Link, len(bucket.Builders)) | 
| 44                 for j, builder := range bucket.Builders { | 41                 for j, builder := range bucket.Builders { | 
| 45 »       »       »       group.Builders[j] = resp.Link{ | 42 »       »       »       group.Builders[j] = *resp.NewLink( | 
| 46 »       »       »       »       Label: builder.Name, | 43 »       »       »       »       builder.Name, fmt.Sprintf("/buildbucket/%s/%s", 
    bucket.Name, builder.Name)) | 
| 47 »       »       »       »       URL:   fmt.Sprintf("/buildbucket/%s/%s", bucket.
    Name, builder.Name), |  | 
| 48 »       »       »       } |  | 
| 49                 } | 44                 } | 
| 50                 result.BuilderGroups[i] = group | 45                 result.BuilderGroups[i] = group | 
| 51         } | 46         } | 
| 52 | 47 | 
| 53         return result, nil | 48         return result, nil | 
| 54 } | 49 } | 
| OLD | NEW | 
|---|