@@ -2,24 +2,28 @@ package client
2
2
3
3
import (
4
4
controlapi "github.com/moby/buildkit/api/services/control"
5
+ "github.com/moby/buildkit/util"
6
+ digest "github.com/opencontainers/go-digest"
7
+ "google.golang.org/protobuf/proto"
8
+ "google.golang.org/protobuf/types/known/timestamppb"
5
9
)
6
10
7
11
var emptyLogVertexSize int
8
12
9
13
func init () {
10
14
emptyLogVertex := controlapi.VertexLog {}
11
- emptyLogVertexSize = emptyLogVertex .Size ()
15
+ emptyLogVertexSize = proto .Size (& emptyLogVertex )
12
16
}
13
17
14
18
func NewSolveStatus (resp * controlapi.StatusResponse ) * SolveStatus {
15
19
s := & SolveStatus {}
16
20
for _ , v := range resp .Vertexes {
17
21
s .Vertexes = append (s .Vertexes , & Vertex {
18
- Digest : v .Digest ,
19
- Inputs : v .Inputs ,
22
+ Digest : digest . Digest ( v .Digest ) ,
23
+ Inputs : util. FromStringSlice [digest. Digest ]( v .Inputs ) ,
20
24
Name : v .Name ,
21
- Started : v .Started ,
22
- Completed : v .Completed ,
25
+ Started : util . ToTimeOrNil ( v .Started ) ,
26
+ Completed : util . ToTimeOrNil ( v .Completed ) ,
23
27
Error : v .Error ,
24
28
Cached : v .Cached ,
25
29
ProgressGroup : v .ProgressGroup ,
@@ -28,26 +32,26 @@ func NewSolveStatus(resp *controlapi.StatusResponse) *SolveStatus {
28
32
for _ , v := range resp .Statuses {
29
33
s .Statuses = append (s .Statuses , & VertexStatus {
30
34
ID : v .ID ,
31
- Vertex : v .Vertex ,
35
+ Vertex : digest . Digest ( v .Vertex ) ,
32
36
Name : v .Name ,
33
37
Total : v .Total ,
34
38
Current : v .Current ,
35
- Timestamp : v .Timestamp ,
36
- Started : v .Started ,
37
- Completed : v .Completed ,
39
+ Timestamp : v .Timestamp . AsTime () ,
40
+ Started : util . ToTimeOrNil ( v .Started ) ,
41
+ Completed : util . ToTimeOrNil ( v .Completed ) ,
38
42
})
39
43
}
40
44
for _ , v := range resp .Logs {
41
45
s .Logs = append (s .Logs , & VertexLog {
42
- Vertex : v .Vertex ,
46
+ Vertex : digest . Digest ( v .Vertex ) ,
43
47
Stream : int (v .Stream ),
44
48
Data : v .Msg ,
45
- Timestamp : v .Timestamp ,
49
+ Timestamp : v .Timestamp . AsTime () ,
46
50
})
47
51
}
48
52
for _ , v := range resp .Warnings {
49
53
s .Warnings = append (s .Warnings , & VertexWarning {
50
- Vertex : v .Vertex ,
54
+ Vertex : digest . Digest ( v .Vertex ) ,
51
55
Level : int (v .Level ),
52
56
Short : v .Short ,
53
57
Detail : v .Detail ,
@@ -66,11 +70,11 @@ func (ss *SolveStatus) Marshal() (out []*controlapi.StatusResponse) {
66
70
sr := controlapi.StatusResponse {}
67
71
for _ , v := range ss .Vertexes {
68
72
sr .Vertexes = append (sr .Vertexes , & controlapi.Vertex {
69
- Digest : v .Digest ,
70
- Inputs : v .Inputs ,
73
+ Digest : v .Digest . String () ,
74
+ Inputs : util . ToStringSlice ( v .Inputs ) ,
71
75
Name : v .Name ,
72
- Started : v .Started ,
73
- Completed : v .Completed ,
76
+ Started : util . ToTimestampOrNil ( v .Started ) ,
77
+ Completed : util . ToTimestampOrNil ( v .Completed ) ,
74
78
Error : v .Error ,
75
79
Cached : v .Cached ,
76
80
ProgressGroup : v .ProgressGroup ,
@@ -79,21 +83,21 @@ func (ss *SolveStatus) Marshal() (out []*controlapi.StatusResponse) {
79
83
for _ , v := range ss .Statuses {
80
84
sr .Statuses = append (sr .Statuses , & controlapi.VertexStatus {
81
85
ID : v .ID ,
82
- Vertex : v .Vertex ,
86
+ Vertex : v .Vertex . String () ,
83
87
Name : v .Name ,
84
88
Current : v .Current ,
85
89
Total : v .Total ,
86
- Timestamp : v .Timestamp ,
87
- Started : v .Started ,
88
- Completed : v .Completed ,
90
+ Timestamp : timestamppb . New ( v .Timestamp ) ,
91
+ Started : util . ToTimestampOrNil ( v .Started ) ,
92
+ Completed : util . ToTimestampOrNil ( v .Completed ) ,
89
93
})
90
94
}
91
95
for i , v := range ss .Logs {
92
96
sr .Logs = append (sr .Logs , & controlapi.VertexLog {
93
- Vertex : v .Vertex ,
97
+ Vertex : v .Vertex . String () ,
94
98
Stream : int64 (v .Stream ),
95
99
Msg : v .Data ,
96
- Timestamp : v .Timestamp ,
100
+ Timestamp : timestamppb . New ( v .Timestamp ) ,
97
101
})
98
102
logSize += len (v .Data ) + emptyLogVertexSize
99
103
// avoid logs growing big and split apart if they do
@@ -107,7 +111,7 @@ func (ss *SolveStatus) Marshal() (out []*controlapi.StatusResponse) {
107
111
}
108
112
for _ , v := range ss .Warnings {
109
113
sr .Warnings = append (sr .Warnings , & controlapi.VertexWarning {
110
- Vertex : v .Vertex ,
114
+ Vertex : v .Vertex . String () ,
111
115
Level : int64 (v .Level ),
112
116
Short : v .Short ,
113
117
Detail : v .Detail ,
0 commit comments