-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathreview.go
More file actions
74 lines (60 loc) · 1.34 KB
/
review.go
File metadata and controls
74 lines (60 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package main
import (
"context"
"time"
uuid "github.com/satori/go.uuid"
"github.com/src-d/lookout"
log "gopkg.in/src-d/go-log.v1"
)
func init() {
if _, err := app.AddCommand("review", "provides simple data server and triggers analyzer", "",
&ReviewCommand{}); err != nil {
panic(err)
}
}
type ReviewCommand struct {
EventCommand
}
func (c *ReviewCommand) Execute(args []string) error {
if err := c.openRepository(); err != nil {
return err
}
fromRef, toRef, err := c.resolveRefs()
if err != nil {
return err
}
dataSrv, err := c.makeDataServerHandler()
if err != nil {
return err
}
serveResult := make(chan error)
grpcSrv, err := c.bindDataServer(dataSrv, serveResult)
if err != nil {
return err
}
client, err := c.analyzerClient()
if err != nil {
return err
}
srv := lookout.NewServer(nil, &LogPoster{log.DefaultLogger}, dataSrv.FileGetter, map[string]lookout.Analyzer{
"test-analyzes": lookout.Analyzer{
Client: client,
},
})
err = srv.HandleReview(context.TODO(), &lookout.ReviewEvent{
InternalID: uuid.NewV4().String(),
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
IsMergeable: true,
Source: *toRef,
Merge: *toRef,
CommitRevision: lookout.CommitRevision{
Base: *fromRef,
Head: *toRef,
}})
if err != nil {
return err
}
grpcSrv.GracefulStop()
return <-serveResult
}