@@ -19,19 +19,21 @@ package compose
19
19
import (
20
20
"fmt"
21
21
22
+ "github.com/docker/compose-cli/api/compose"
23
+
22
24
"github.com/sirupsen/logrus"
23
25
)
24
26
25
- // LogPrinter watch application containers an collect their logs
26
- type LogPrinter interface {
27
- HandleEvent(event ContainerEvent)
27
+ // logPrinter watch application containers an collect their logs
28
+ type logPrinter interface {
29
+ HandleEvent(event compose. ContainerEvent)
28
30
Run(cascadeStop bool, exitCodeFrom string, stopFn func() error) (int, error)
29
31
Cancel()
30
32
}
31
33
32
- // NewLogPrinter builds a LogPrinter passing containers logs to LogConsumer
33
- func NewLogPrinter (consumer LogConsumer) LogPrinter {
34
- queue := make(chan ContainerEvent)
34
+ // newLogPrinter builds a LogPrinter passing containers logs to LogConsumer
35
+ func newLogPrinter (consumer compose. LogConsumer) logPrinter {
36
+ queue := make(chan compose. ContainerEvent)
35
37
printer := printer{
36
38
consumer: consumer,
37
39
queue: queue,
@@ -40,17 +42,17 @@ func NewLogPrinter(consumer LogConsumer) LogPrinter {
40
42
}
41
43
42
44
func (p *printer) Cancel() {
43
- p.queue <- ContainerEvent{
44
- Type: UserCancel,
45
+ p.queue <- compose. ContainerEvent{
46
+ Type: compose. UserCancel,
45
47
}
46
48
}
47
49
48
50
type printer struct {
49
- queue chan ContainerEvent
50
- consumer LogConsumer
51
+ queue chan compose. ContainerEvent
52
+ consumer compose. LogConsumer
51
53
}
52
54
53
- func (p *printer) HandleEvent(event ContainerEvent) {
55
+ func (p *printer) HandleEvent(event compose. ContainerEvent) {
54
56
p.queue <- event
55
57
}
56
58
@@ -64,15 +66,15 @@ func (p *printer) Run(cascadeStop bool, exitCodeFrom string, stopFn func() error
64
66
event := <-p.queue
65
67
container := event.Container
66
68
switch event.Type {
67
- case UserCancel:
69
+ case compose. UserCancel:
68
70
aborting = true
69
- case ContainerEventAttach:
71
+ case compose. ContainerEventAttach:
70
72
if _, ok := containers[container]; ok {
71
73
continue
72
74
}
73
75
containers[container] = struct{}{}
74
76
p.consumer.Register(container)
75
- case ContainerEventExit:
77
+ case compose. ContainerEventExit:
76
78
if !event.Restarting {
77
79
delete(containers, container)
78
80
}
@@ -100,7 +102,7 @@ func (p *printer) Run(cascadeStop bool, exitCodeFrom string, stopFn func() error
100
102
// Last container terminated, done
101
103
return exitCode, nil
102
104
}
103
- case ContainerEventLog:
105
+ case compose. ContainerEventLog:
104
106
if !aborting {
105
107
p.consumer.Log(container, event.Service, event.Line)
106
108
}
0 commit comments