feedx 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +12 -10
- data/Gemfile.lock +44 -21
- data/Makefile +5 -0
- data/consumer_test.go +5 -5
- data/feedx.gemspec +3 -2
- data/feedx_test.go +13 -13
- data/format.go +16 -16
- data/format_test.go +6 -7
- data/go.mod +6 -11
- data/go.sum +47 -28
- data/internal/testdata/testdata.pb.go +124 -0
- data/internal/testdata/testdata.proto +15 -0
- data/lib/feedx/compression.rb +11 -4
- data/lib/feedx/compression/abstract.rb +2 -2
- data/lib/feedx/compression/gzip.rb +14 -2
- data/lib/feedx/compression/none.rb +4 -4
- data/lib/feedx/consumer.rb +4 -4
- data/lib/feedx/format.rb +15 -9
- data/lib/feedx/format/abstract.rb +42 -13
- data/lib/feedx/format/json.rb +12 -8
- data/lib/feedx/format/parquet.rb +102 -0
- data/lib/feedx/format/protobuf.rb +16 -8
- data/lib/feedx/producer.rb +6 -5
- data/lib/feedx/stream.rb +17 -21
- data/producer.go +4 -11
- data/producer_test.go +16 -6
- data/reader_test.go +7 -8
- data/spec/feedx/compression/gzip_spec.rb +4 -2
- data/spec/feedx/compression/none_spec.rb +2 -2
- data/spec/feedx/compression_spec.rb +9 -9
- data/spec/feedx/consumer_spec.rb +6 -3
- data/spec/feedx/format/abstract_spec.rb +11 -8
- data/spec/feedx/format/json_spec.rb +12 -11
- data/spec/feedx/format/parquet_spec.rb +30 -0
- data/spec/feedx/format/protobuf_spec.rb +12 -11
- data/spec/feedx/format_spec.rb +8 -8
- data/spec/feedx/stream_spec.rb +20 -1
- data/spec/spec_helper.rb +17 -1
- data/writer.go +20 -15
- data/writer_test.go +3 -5
- metadata +22 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5662b9773c03d14b3d7d68b8a1ad208986b95c675cbf61d445f74ebdf3b86b09
|
4
|
+
data.tar.gz: 074c6e5b86975aed1b31caa5250d7132a2d6bb68af7c221f89043f5f574d0268
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c39e851c7e9266c9b6248f6c6010d351ae9d57809c5f6d153bd6defdf4933fa6f138637e8ad6b0ee5f8cab07dec002b2995ecc0a7ff02222974a49ab1d646e3
|
7
|
+
data.tar.gz: 1846a1ba29397928281d1ba4b5c683c6c4e097e2879acedc52de21d722033290e5aac72a8f001d2012643f67661aa9fd76bac27c925782b6760b2d96295e1e80
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -2,21 +2,23 @@ matrix:
|
|
2
2
|
include:
|
3
3
|
- language: ruby
|
4
4
|
rvm:
|
5
|
-
- 2.
|
5
|
+
- 2.7
|
6
6
|
before_install:
|
7
|
-
-
|
7
|
+
- wget https://apache.bintray.com/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-archive-keyring-latest-$(lsb_release --codename --short).deb
|
8
|
+
- sudo apt install -y ./apache-arrow-archive-keyring-latest-$(lsb_release --codename --short).deb
|
9
|
+
- sudo apt update
|
10
|
+
- sudo apt install -y libarrow-dev libarrow-glib-dev libarrow-dataset-dev libplasma-dev libplasma-glib-dev libgandiva-dev libgandiva-glib-dev libparquet-dev libparquet-glib-dev
|
8
11
|
- language: ruby
|
9
12
|
rvm:
|
10
|
-
- 2.
|
13
|
+
- 2.6
|
11
14
|
before_install:
|
12
|
-
-
|
15
|
+
- wget https://apache.bintray.com/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-archive-keyring-latest-$(lsb_release --codename --short).deb
|
16
|
+
- sudo apt install -y ./apache-arrow-archive-keyring-latest-$(lsb_release --codename --short).deb
|
17
|
+
- sudo apt update
|
18
|
+
- sudo apt install -y libarrow-dev libarrow-glib-dev libarrow-dataset-dev libplasma-dev libplasma-glib-dev libgandiva-dev libgandiva-glib-dev libparquet-dev libparquet-glib-dev
|
13
19
|
- language: go
|
14
20
|
go:
|
15
|
-
- 1.
|
16
|
-
env:
|
17
|
-
- GO111MODULE=on
|
21
|
+
- 1.14.x
|
18
22
|
- language: go
|
19
23
|
go:
|
20
|
-
- 1.
|
21
|
-
env:
|
22
|
-
- GO111MODULE=on
|
24
|
+
- 1.13.x
|
data/Gemfile.lock
CHANGED
@@ -1,48 +1,70 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
feedx (0.
|
4
|
+
feedx (0.11.0)
|
5
5
|
bfs (>= 0.5.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
ast (2.4.
|
11
|
-
bfs (0.
|
10
|
+
ast (2.4.1)
|
11
|
+
bfs (0.7.0)
|
12
12
|
diff-lcs (1.3)
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
extpp (0.0.8)
|
14
|
+
gio2 (3.4.3)
|
15
|
+
gobject-introspection (= 3.4.3)
|
16
|
+
glib2 (3.4.3)
|
17
|
+
native-package-installer (>= 1.0.3)
|
18
|
+
pkg-config (>= 1.3.5)
|
19
|
+
gobject-introspection (3.4.3)
|
20
|
+
glib2 (= 3.4.3)
|
21
|
+
google-protobuf (3.12.2)
|
22
|
+
native-package-installer (1.0.9)
|
23
|
+
parallel (1.19.1)
|
24
|
+
parser (2.7.1.3)
|
17
25
|
ast (~> 2.4.0)
|
18
|
-
pbio (0.2.
|
26
|
+
pbio (0.2.1)
|
19
27
|
google-protobuf
|
28
|
+
pkg-config (1.4.1)
|
20
29
|
rainbow (3.0.0)
|
21
|
-
rake (13.0.
|
30
|
+
rake (13.0.1)
|
31
|
+
red-arrow (0.17.1)
|
32
|
+
extpp (>= 0.0.7)
|
33
|
+
gio2 (>= 3.3.6)
|
34
|
+
native-package-installer
|
35
|
+
pkg-config
|
36
|
+
red-parquet (0.17.1)
|
37
|
+
red-arrow (= 0.17.1)
|
38
|
+
regexp_parser (1.7.1)
|
39
|
+
rexml (3.2.4)
|
22
40
|
rspec (3.9.0)
|
23
41
|
rspec-core (~> 3.9.0)
|
24
42
|
rspec-expectations (~> 3.9.0)
|
25
43
|
rspec-mocks (~> 3.9.0)
|
26
|
-
rspec-core (3.9.
|
27
|
-
rspec-support (~> 3.9.
|
28
|
-
rspec-expectations (3.9.
|
44
|
+
rspec-core (3.9.2)
|
45
|
+
rspec-support (~> 3.9.3)
|
46
|
+
rspec-expectations (3.9.2)
|
29
47
|
diff-lcs (>= 1.2.0, < 2.0)
|
30
48
|
rspec-support (~> 3.9.0)
|
31
|
-
rspec-mocks (3.9.
|
49
|
+
rspec-mocks (3.9.1)
|
32
50
|
diff-lcs (>= 1.2.0, < 2.0)
|
33
51
|
rspec-support (~> 3.9.0)
|
34
|
-
rspec-support (3.9.
|
35
|
-
rubocop (0.
|
36
|
-
jaro_winkler (~> 1.5.1)
|
52
|
+
rspec-support (3.9.3)
|
53
|
+
rubocop (0.85.1)
|
37
54
|
parallel (~> 1.10)
|
38
|
-
parser (>= 2.
|
55
|
+
parser (>= 2.7.0.1)
|
39
56
|
rainbow (>= 2.2.2, < 4.0)
|
57
|
+
regexp_parser (>= 1.7)
|
58
|
+
rexml
|
59
|
+
rubocop-ast (>= 0.0.3)
|
40
60
|
ruby-progressbar (~> 1.7)
|
41
|
-
unicode-display_width (>= 1.4.0, <
|
42
|
-
rubocop-
|
61
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
62
|
+
rubocop-ast (0.0.3)
|
63
|
+
parser (>= 2.7.0.1)
|
64
|
+
rubocop-performance (1.6.1)
|
43
65
|
rubocop (>= 0.71.0)
|
44
66
|
ruby-progressbar (1.10.1)
|
45
|
-
unicode-display_width (1.
|
67
|
+
unicode-display_width (1.7.0)
|
46
68
|
|
47
69
|
PLATFORMS
|
48
70
|
ruby
|
@@ -53,9 +75,10 @@ DEPENDENCIES
|
|
53
75
|
google-protobuf (>= 3.7.0.pre.rc2)
|
54
76
|
pbio
|
55
77
|
rake
|
78
|
+
red-parquet
|
56
79
|
rspec
|
57
80
|
rubocop
|
58
81
|
rubocop-performance
|
59
82
|
|
60
83
|
BUNDLED WITH
|
61
|
-
2.
|
84
|
+
2.1.4
|
data/Makefile
CHANGED
data/consumer_test.go
CHANGED
@@ -7,7 +7,7 @@ import (
|
|
7
7
|
|
8
8
|
"github.com/bsm/bfs"
|
9
9
|
"github.com/bsm/feedx"
|
10
|
-
|
10
|
+
"github.com/bsm/feedx/internal/testdata"
|
11
11
|
. "github.com/onsi/ginkgo"
|
12
12
|
. "github.com/onsi/gomega"
|
13
13
|
)
|
@@ -23,16 +23,16 @@ var _ = Describe("Consumer", func() {
|
|
23
23
|
|
24
24
|
var err error
|
25
25
|
subject, err = feedx.NewConsumerForRemote(ctx, obj, nil, func(r *feedx.Reader) (interface{}, error) {
|
26
|
-
var msgs []
|
26
|
+
var msgs []*testdata.MockMessage
|
27
27
|
for {
|
28
|
-
var msg
|
28
|
+
var msg testdata.MockMessage
|
29
29
|
if err := r.Decode(&msg); err == io.EOF {
|
30
30
|
break
|
31
31
|
}
|
32
32
|
if err != nil {
|
33
33
|
return nil, err
|
34
34
|
}
|
35
|
-
msgs = append(msgs, msg)
|
35
|
+
msgs = append(msgs, &msg)
|
36
36
|
}
|
37
37
|
return msgs, nil
|
38
38
|
})
|
@@ -47,7 +47,7 @@ var _ = Describe("Consumer", func() {
|
|
47
47
|
Expect(subject.LastSync()).To(BeTemporally("~", time.Now(), time.Second))
|
48
48
|
Expect(subject.LastModified()).To(BeTemporally("~", time.Unix(1515151515, 0), time.Second))
|
49
49
|
Expect(subject.NumRead()).To(Equal(2))
|
50
|
-
Expect(subject.Data()).To(
|
50
|
+
Expect(subject.Data()).To(ConsistOf(seed(), seed()))
|
51
51
|
Expect(subject.Close()).To(Succeed())
|
52
52
|
})
|
53
53
|
})
|
data/feedx.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'feedx'
|
3
|
-
s.version = '0.
|
3
|
+
s.version = '0.11.0'
|
4
4
|
s.authors = ['Black Square Media Ltd']
|
5
5
|
s.email = ['info@blacksquaremedia.com']
|
6
6
|
s.summary = %(Exchange data between components via feeds)
|
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.homepage = 'https://github.com/bsm/feedx'
|
9
9
|
s.license = 'Apache-2.0'
|
10
10
|
|
11
|
-
s.files = `git ls-files -z`.split("\x0").reject {|f| f.
|
11
|
+
s.files = `git ls-files -z`.split("\x0").reject {|f| f.start_with?('spec/') }
|
12
12
|
s.test_files = `git ls-files -z -- spec/*`.split("\x0")
|
13
13
|
s.require_paths = ['lib']
|
14
14
|
s.required_ruby_version = '>= 2.4'
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.add_development_dependency 'bundler'
|
19
19
|
s.add_development_dependency 'pbio'
|
20
20
|
s.add_development_dependency 'rake'
|
21
|
+
s.add_development_dependency 'red-parquet'
|
21
22
|
s.add_development_dependency 'rspec'
|
22
23
|
s.add_development_dependency 'rubocop'
|
23
24
|
s.add_development_dependency 'rubocop-performance'
|
data/feedx_test.go
CHANGED
@@ -8,13 +8,11 @@ import (
|
|
8
8
|
|
9
9
|
"github.com/bsm/bfs"
|
10
10
|
"github.com/bsm/feedx"
|
11
|
-
|
11
|
+
"github.com/bsm/feedx/internal/testdata"
|
12
12
|
. "github.com/onsi/ginkgo"
|
13
13
|
. "github.com/onsi/gomega"
|
14
14
|
)
|
15
15
|
|
16
|
-
// ------------------------------------------------------------------------
|
17
|
-
|
18
16
|
var memStore *bfs.InMem
|
19
17
|
|
20
18
|
func init() {
|
@@ -24,24 +22,26 @@ func init() {
|
|
24
22
|
})
|
25
23
|
}
|
26
24
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
// ------------------------------------------------------------------------
|
26
|
+
|
27
|
+
func seed() *testdata.MockMessage {
|
28
|
+
return &testdata.MockMessage{
|
29
|
+
Name: "Joe",
|
30
|
+
Enum: testdata.MockEnum_FIRST,
|
31
|
+
Height: 180,
|
32
|
+
}
|
31
33
|
}
|
32
34
|
|
35
|
+
// ------------------------------------------------------------------------
|
36
|
+
|
33
37
|
func writeMulti(obj *bfs.Object, numEntries int) error {
|
34
|
-
w
|
38
|
+
w := feedx.NewWriter(context.Background(), obj, &feedx.WriterOptions{
|
35
39
|
LastMod: time.Unix(1515151515, 123456789),
|
36
40
|
})
|
37
|
-
if err != nil {
|
38
|
-
return err
|
39
|
-
}
|
40
41
|
defer w.Discard()
|
41
42
|
|
42
43
|
for i := 0; i < numEntries; i++ {
|
43
|
-
|
44
|
-
if err := w.Encode(&fix); err != nil {
|
44
|
+
if err := w.Encode(seed()); err != nil {
|
45
45
|
return err
|
46
46
|
}
|
47
47
|
}
|
data/format.go
CHANGED
@@ -7,9 +7,8 @@ import (
|
|
7
7
|
"io"
|
8
8
|
"path"
|
9
9
|
|
10
|
-
"github.com/golang/protobuf/proto"
|
11
|
-
|
12
10
|
pbio "github.com/gogo/protobuf/io"
|
11
|
+
"github.com/gogo/protobuf/proto"
|
13
12
|
)
|
14
13
|
|
15
14
|
var errNoFormat = errors.New("feedx: no format detected")
|
@@ -92,8 +91,6 @@ func (jsonEncoderWrapper) Close() error { return nil }
|
|
92
91
|
|
93
92
|
// --------------------------------------------------------------------
|
94
93
|
|
95
|
-
const protobufMaxMessageSize = 20 * 1024 * 1024 // 20MB
|
96
|
-
|
97
94
|
// ProtobufFormat provides a Format implemention for Protobuf.
|
98
95
|
var ProtobufFormat = protobufFormat{}
|
99
96
|
|
@@ -101,32 +98,35 @@ type protobufFormat struct{}
|
|
101
98
|
|
102
99
|
// NewDecoder implements Format.
|
103
100
|
func (protobufFormat) NewDecoder(r io.Reader) (FormatDecoder, error) {
|
104
|
-
|
105
|
-
return protobufDecoderWrapper{ReadCloser: rc}, nil
|
101
|
+
return protobufWrapper{Reader: pbio.NewDelimitedReader(r, 1<<28)}, nil
|
106
102
|
}
|
107
103
|
|
108
104
|
// NewEncoder implements Format.
|
109
105
|
func (protobufFormat) NewEncoder(w io.Writer) (FormatEncoder, error) {
|
110
|
-
|
111
|
-
return protobufEncoderWrapper{WriteCloser: wc}, nil
|
106
|
+
return protobufWrapper{Writer: pbio.NewDelimitedWriter(w)}, nil
|
112
107
|
}
|
113
108
|
|
114
|
-
type
|
109
|
+
type protobufWrapper struct {
|
110
|
+
pbio.Reader
|
111
|
+
pbio.Writer
|
112
|
+
}
|
115
113
|
|
116
|
-
func (w
|
114
|
+
func (w protobufWrapper) Decode(v interface{}) error {
|
117
115
|
msg, ok := v.(proto.Message)
|
118
116
|
if !ok {
|
119
|
-
return fmt.Errorf("
|
117
|
+
return fmt.Errorf("value %v (%T) is not a proto.Message", v, v)
|
120
118
|
}
|
121
|
-
return w.
|
119
|
+
return w.ReadMsg(msg)
|
122
120
|
}
|
123
121
|
|
124
|
-
|
125
|
-
|
126
|
-
func (w protobufEncoderWrapper) Encode(v interface{}) error {
|
122
|
+
func (w protobufWrapper) Encode(v interface{}) error {
|
127
123
|
msg, ok := v.(proto.Message)
|
128
124
|
if !ok {
|
129
|
-
return fmt.Errorf("
|
125
|
+
return fmt.Errorf("value %v (%T) is not a proto.Message", v, v)
|
130
126
|
}
|
131
127
|
return w.WriteMsg(msg)
|
132
128
|
}
|
129
|
+
|
130
|
+
func (protobufWrapper) Close() error {
|
131
|
+
return nil
|
132
|
+
}
|
data/format_test.go
CHANGED
@@ -5,7 +5,7 @@ import (
|
|
5
5
|
"io"
|
6
6
|
|
7
7
|
"github.com/bsm/feedx"
|
8
|
-
|
8
|
+
"github.com/bsm/feedx/internal/testdata"
|
9
9
|
. "github.com/onsi/ginkgo"
|
10
10
|
. "github.com/onsi/gomega"
|
11
11
|
)
|
@@ -18,24 +18,23 @@ var _ = Describe("Format", func() {
|
|
18
18
|
Expect(err).NotTo(HaveOccurred())
|
19
19
|
defer enc.Close()
|
20
20
|
|
21
|
-
|
22
|
-
Expect(enc.Encode(
|
23
|
-
Expect(enc.Encode(&fix)).To(Succeed())
|
21
|
+
Expect(enc.Encode(seed())).To(Succeed())
|
22
|
+
Expect(enc.Encode(seed())).To(Succeed())
|
24
23
|
Expect(enc.Close()).To(Succeed())
|
25
24
|
|
26
25
|
dec, err := subject.NewDecoder(buf)
|
27
26
|
Expect(err).NotTo(HaveOccurred())
|
28
27
|
defer dec.Close()
|
29
28
|
|
30
|
-
v1 := new(
|
29
|
+
v1 := new(testdata.MockMessage)
|
31
30
|
Expect(dec.Decode(v1)).To(Succeed())
|
32
31
|
Expect(v1.Name).To(Equal("Joe"))
|
33
32
|
|
34
|
-
v2 := new(
|
33
|
+
v2 := new(testdata.MockMessage)
|
35
34
|
Expect(dec.Decode(v2)).To(Succeed())
|
36
35
|
Expect(v2.Name).To(Equal("Joe"))
|
37
36
|
|
38
|
-
v3 := new(
|
37
|
+
v3 := new(testdata.MockMessage)
|
39
38
|
Expect(dec.Decode(v3)).To(MatchError(io.EOF))
|
40
39
|
|
41
40
|
Expect(dec.Close()).To(Succeed())
|
data/go.mod
CHANGED
@@ -1,15 +1,10 @@
|
|
1
1
|
module github.com/bsm/feedx
|
2
2
|
|
3
|
+
go 1.13
|
4
|
+
|
3
5
|
require (
|
4
|
-
github.com/bsm/bfs v0.
|
5
|
-
github.com/gogo/protobuf v1.3.
|
6
|
-
github.com/
|
7
|
-
github.com/onsi/
|
8
|
-
github.com/onsi/gomega v1.7.0
|
9
|
-
golang.org/x/net v0.0.0-20191007182048-72f939374954 // indirect
|
10
|
-
golang.org/x/sys v0.0.0-20191008105621-543471e840be // indirect
|
11
|
-
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
|
12
|
-
gopkg.in/yaml.v2 v2.2.4 // indirect
|
6
|
+
github.com/bsm/bfs v0.10.4
|
7
|
+
github.com/gogo/protobuf v1.3.1
|
8
|
+
github.com/onsi/ginkgo v1.13.0
|
9
|
+
github.com/onsi/gomega v1.10.1
|
13
10
|
)
|
14
|
-
|
15
|
-
go 1.13
|
data/go.sum
CHANGED
@@ -1,16 +1,25 @@
|
|
1
|
-
github.com/bmatcuk/doublestar v1.
|
2
|
-
github.com/bmatcuk/doublestar v1.
|
3
|
-
github.com/bsm/bfs v0.
|
4
|
-
github.com/bsm/bfs v0.
|
5
|
-
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
1
|
+
github.com/bmatcuk/doublestar v1.2.2 h1:oC24CykoSAB8zd7XgruHo33E0cHJf/WhQA/7BeXj+x0=
|
2
|
+
github.com/bmatcuk/doublestar v1.2.2/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE=
|
3
|
+
github.com/bsm/bfs v0.10.4 h1:59I1FBEcIku/1MfPyIEeBfKm+ICaJ4lVEcago/YeCLg=
|
4
|
+
github.com/bsm/bfs v0.10.4/go.mod h1:N3md8kQvlteRDcfc8tqw759yW98dhj+6seWEVcg4CmM=
|
6
5
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
7
|
-
github.com/
|
8
|
-
github.com/
|
9
|
-
github.com/
|
6
|
+
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
7
|
+
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
8
|
+
github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
|
9
|
+
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
10
10
|
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
11
|
-
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
|
12
11
|
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
13
|
-
github.com/
|
12
|
+
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
|
13
|
+
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
|
14
|
+
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
|
15
|
+
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
|
16
|
+
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
|
17
|
+
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
|
18
|
+
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
19
|
+
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
20
|
+
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
21
|
+
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
|
22
|
+
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
14
23
|
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
15
24
|
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
16
25
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
@@ -19,45 +28,55 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
|
|
19
28
|
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
20
29
|
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
21
30
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
22
|
-
github.com/
|
31
|
+
github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
|
32
|
+
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
23
33
|
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
24
|
-
github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w=
|
25
34
|
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
26
|
-
github.com/onsi/ginkgo v1.
|
27
|
-
github.com/onsi/ginkgo v1.
|
28
|
-
github.com/onsi/
|
35
|
+
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
36
|
+
github.com/onsi/ginkgo v1.13.0 h1:M76yO2HkZASFjXL0HSoZJ1AYEmQxNJmY41Jx1zNUq1Y=
|
37
|
+
github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0=
|
29
38
|
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
30
|
-
github.com/onsi/gomega v1.7.
|
31
|
-
github.com/onsi/gomega v1.
|
39
|
+
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
40
|
+
github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE=
|
41
|
+
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
|
42
|
+
github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw=
|
32
43
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
33
44
|
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
34
45
|
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
35
|
-
golang.org/x/net v0.0.0-
|
36
|
-
golang.org/x/net v0.0.0-
|
46
|
+
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 h1:AeiKBIuRw3UomYXSbLy0Mc2dDLfdtbT/IVn4keq83P0=
|
47
|
+
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
37
48
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
38
49
|
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
39
50
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
40
51
|
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
41
|
-
golang.org/x/sys v0.0.0-
|
42
|
-
golang.org/x/sys v0.0.0-
|
43
|
-
golang.org/x/
|
52
|
+
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
53
|
+
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
54
|
+
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
55
|
+
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
56
|
+
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4=
|
57
|
+
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
44
58
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
45
59
|
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
46
60
|
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
47
61
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
48
62
|
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
63
|
+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
64
|
+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
65
|
+
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
66
|
+
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
67
|
+
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
68
|
+
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
|
69
|
+
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
|
70
|
+
google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
|
71
|
+
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
49
72
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
50
73
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
51
74
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
52
|
-
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
53
|
-
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
54
|
-
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
55
75
|
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
56
76
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
57
77
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
58
|
-
gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=
|
59
78
|
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
60
|
-
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
61
79
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
62
|
-
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
63
80
|
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
81
|
+
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
|
82
|
+
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|