logstash-core 6.1.1-java → 6.1.2-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/logstash-core/logstash-core.jar +0 -0
- data/lib/logstash-core_jars.rb +10 -10
- data/lib/logstash/compiler/lscl.rb +16 -11
- data/lib/logstash/compiler/lscl/helpers.rb +5 -4
- data/lib/logstash/dependency_report.rb +131 -0
- data/lib/logstash/dependency_report_runner.rb +17 -0
- data/spec/logstash/compiler/compiler_spec.rb +29 -13
- data/versions-gem-copy.yml +2 -2
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b00c8adeb8f8cfd17b847fbbeed77d2367ae24573d495ff2e23f08f02a7a7178
|
4
|
+
data.tar.gz: 121f070df4f77d854f6c9839e7adb4cbd8064f32053d24e93ef4c0694242f423
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10a10a11213c8132deb3a3a87b1c1de3e383b642c3b8bca2280d85936010808fcf2d748565bb8bb43f4c67c82a4641d797709c165b606148e723805084069620
|
7
|
+
data.tar.gz: a2f39c7e42131ba604af2862a1046d33f1ed80e3284a9fcd54c749c7916c067905217505412c1e42976a4fdb5fca32bd65d8949f8b93920e74ed049b2cf1a771
|
Binary file
|
data/lib/logstash-core_jars.rb
CHANGED
@@ -15,14 +15,14 @@ rescue LoadError
|
|
15
15
|
end
|
16
16
|
|
17
17
|
if defined? Jars
|
18
|
-
require_jar
|
19
|
-
require_jar
|
20
|
-
require_jar
|
21
|
-
require_jar
|
22
|
-
require_jar
|
23
|
-
require_jar
|
24
|
-
require_jar
|
25
|
-
require_jar
|
26
|
-
require_jar
|
27
|
-
require_jar
|
18
|
+
require_jar 'org.apache.logging.log4j', 'log4j-core', '2.6.2'
|
19
|
+
require_jar 'com.fasterxml.jackson.core', 'jackson-databind', '2.9.1'
|
20
|
+
require_jar 'org.apache.logging.log4j', 'log4j-api', '2.6.2'
|
21
|
+
require_jar 'org.slf4j', 'slf4j-api', '1.7.21'
|
22
|
+
require_jar 'com.fasterxml.jackson.core', 'jackson-annotations', '2.9.1'
|
23
|
+
require_jar 'org.apache.logging.log4j', 'log4j-slf4j-impl', '2.6.2'
|
24
|
+
require_jar 'com.fasterxml.jackson.dataformat', 'jackson-dataformat-cbor', '2.9.1'
|
25
|
+
require_jar 'org.codehaus.janino', 'commons-compiler', '3.0.7'
|
26
|
+
require_jar 'com.fasterxml.jackson.core', 'jackson-core', '2.9.1'
|
27
|
+
require_jar 'org.codehaus.janino', 'janino', '3.0.7'
|
28
28
|
end
|
@@ -262,7 +262,10 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
262
262
|
java_f_branch = f_branch && javaify_sexpr(f_branch)
|
263
263
|
|
264
264
|
if java_t_branch || java_f_branch
|
265
|
-
|
265
|
+
# We use the condition as the source with metadata because it hashes correctly
|
266
|
+
# It's hard to use the 'real' source due to the re-branching from if / elsif into if/else only
|
267
|
+
# branches. We should come back and improve this at some point if that makes a difference
|
268
|
+
jdsl.iIf(condition.source_with_metadata, condition, java_t_branch || jdsl.noop, java_f_branch || jdsl.noop)
|
266
269
|
else
|
267
270
|
jdsl.noop()
|
268
271
|
end
|
@@ -297,7 +300,8 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
297
300
|
|
298
301
|
all_elements = [first_element, *rest_elements]
|
299
302
|
|
300
|
-
|
303
|
+
|
304
|
+
res = if all_elements.size == 1
|
301
305
|
elem = all_elements.first
|
302
306
|
if elem.is_a?(Selector)
|
303
307
|
eventValue = elem.recursive_select(SelectorElement).first.expr
|
@@ -310,6 +314,7 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
310
314
|
else
|
311
315
|
join_conditions(all_elements)
|
312
316
|
end
|
317
|
+
res
|
313
318
|
end
|
314
319
|
|
315
320
|
def precedence(op)
|
@@ -339,13 +344,13 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
339
344
|
|
340
345
|
case op
|
341
346
|
when :and
|
342
|
-
return jdsl.eAnd(left, right);
|
347
|
+
return jdsl.eAnd(source_meta, left, right);
|
343
348
|
when :nand
|
344
|
-
return jdsl.eNand(left, right);
|
349
|
+
return jdsl.eNand(source_meta, left, right);
|
345
350
|
when :or
|
346
|
-
return jdsl.eOr(left, right);
|
351
|
+
return jdsl.eOr(source_meta, left, right);
|
347
352
|
when :xor
|
348
|
-
return jdsl.eXor(left, right);
|
353
|
+
return jdsl.eXor(source_meta, left, right);
|
349
354
|
else
|
350
355
|
raise "Unknown op #{jop}"
|
351
356
|
end
|
@@ -394,7 +399,7 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
394
399
|
while elem = stack.pop
|
395
400
|
if elem.is_a?(::Method)
|
396
401
|
right, left = working_stack.pop, working_stack.pop
|
397
|
-
working_stack << elem.call(left, right)
|
402
|
+
working_stack << elem.call(source_meta, left, right)
|
398
403
|
else
|
399
404
|
working_stack << elem
|
400
405
|
end
|
@@ -472,13 +477,13 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
472
477
|
# Handle string rvalues, they just get turned into regexps
|
473
478
|
# Maybe we really shouldn't handle these anymore...
|
474
479
|
if regexp.class == org.logstash.config.ir.expression.ValueExpression
|
475
|
-
regexp = jdsl.eRegex(regexp.get)
|
480
|
+
regexp = jdsl.eRegex(source_meta, regexp.get)
|
476
481
|
end
|
477
482
|
|
478
483
|
raise "Expected a selector in #{text_value}!" unless selector
|
479
484
|
raise "Expected a regexp in #{text_value}!" unless regexp
|
480
485
|
|
481
|
-
operator_method.call(source_meta, selector, regexp)
|
486
|
+
operator_method.call(source_meta, selector, regexp)
|
482
487
|
end
|
483
488
|
end
|
484
489
|
|
@@ -512,9 +517,9 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
512
517
|
|
513
518
|
def expr
|
514
519
|
if self.text_value == '!~'
|
515
|
-
jdsl.
|
520
|
+
jdsl.java_method(:eRegexNeq, [org.logstash.common.SourceWithMetadata, org.logstash.config.ir.expression.Expression, org.logstash.config.ir.expression.ValueExpression])
|
516
521
|
elsif self.text_value == '=~'
|
517
|
-
jdsl.
|
522
|
+
jdsl.java_method(:eRegexEq, [org.logstash.common.SourceWithMetadata, org.logstash.config.ir.expression.Expression, org.logstash.config.ir.expression.ValueExpression])
|
518
523
|
else
|
519
524
|
raise "Unknown regex operator #{self.text_value}"
|
520
525
|
end
|
@@ -49,9 +49,10 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
49
49
|
org.logstash.config.ir.DSL
|
50
50
|
end
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
52
|
+
BOOLEAN_DSL_METHOD_SIGNATURE = [org.logstash.common.SourceWithMetadata, org.logstash.config.ir.expression.Expression, org.logstash.config.ir.expression.Expression]
|
53
|
+
AND_METHOD = jdsl.java_method(:eAnd, BOOLEAN_DSL_METHOD_SIGNATURE)
|
54
|
+
NAND_METHOD = jdsl.java_method(:eNand, BOOLEAN_DSL_METHOD_SIGNATURE)
|
55
|
+
OR_METHOD = jdsl.java_method(:eOr, BOOLEAN_DSL_METHOD_SIGNATURE)
|
56
|
+
XOR_METHOD = jdsl.java_method(:eXor, BOOLEAN_DSL_METHOD_SIGNATURE)
|
56
57
|
end
|
57
58
|
end; end; end; end; end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
Thread.abort_on_exception = true
|
3
|
+
Encoding.default_external = Encoding::UTF_8
|
4
|
+
$DEBUGLIST = (ENV["DEBUG"] || "").split(",")
|
5
|
+
|
6
|
+
require "clamp"
|
7
|
+
require "logstash/namespace"
|
8
|
+
require "rubygems"
|
9
|
+
require "jars/gemspec_artifacts"
|
10
|
+
|
11
|
+
class LogStash::DependencyReport < Clamp::Command
|
12
|
+
option [ "--csv" ], "OUTPUT_PATH", "The path to write the dependency report in csv format.",
|
13
|
+
:required => true, :attribute_name => :output_path
|
14
|
+
|
15
|
+
def execute
|
16
|
+
require "csv"
|
17
|
+
CSV.open(output_path, "wb", :headers => [ "name", "version", "url", "license" ], :write_headers => true) do |csv|
|
18
|
+
puts "Finding gem dependencies"
|
19
|
+
gems.each { |d| csv << d }
|
20
|
+
puts "Finding java/jar dependencies"
|
21
|
+
jars.each { |d| csv << d }
|
22
|
+
end
|
23
|
+
|
24
|
+
# Copy in COPYING.csv which is a best-effort, hand-maintained file of dependency license information.
|
25
|
+
File.open(output_path, "a+") do |file|
|
26
|
+
extra = File.join(File.dirname(__FILE__), "..", "..", "..", "COPYING.csv")
|
27
|
+
file.write(IO.read(extra))
|
28
|
+
end
|
29
|
+
nil
|
30
|
+
end
|
31
|
+
|
32
|
+
def gems
|
33
|
+
# @mgreau requested `logstash-*` dependencies be removed from this list:
|
34
|
+
# https://github.com/elastic/logstash/pull/8837#issuecomment-351859433
|
35
|
+
Gem::Specification.reject { |g| g.name =~ /^logstash-/ }.collect do |gem|
|
36
|
+
licenses = ("UNKNOWN" if gem.licenses.empty?) || (gem.licenses.map { |l| SPDX.map(l) }.join("|") if !gem.licenses.empty?)
|
37
|
+
[gem.name, gem.version.to_s, gem.homepage, licenses]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def jars
|
42
|
+
jars = []
|
43
|
+
# For any gems with jar dependencies,
|
44
|
+
# Look at META-INF/MANIFEST.MF for any jars in each gem
|
45
|
+
# Note any important details.
|
46
|
+
Gem::Specification.select { |g| g.requirements && g.requirements.any? { |r| r =~ /^jar / } }.collect do |gem|
|
47
|
+
|
48
|
+
# Where is the gem installed
|
49
|
+
root = gem.full_gem_path
|
50
|
+
|
51
|
+
Dir.glob(File.join(root, "**", "*.jar")).collect do |path|
|
52
|
+
jar = java.util.jar.JarFile.new(path)
|
53
|
+
manifest = jar.getManifest
|
54
|
+
|
55
|
+
pom_entries = jar.entries.select { |t| t.getName.start_with?("META-INF/maven/") && t.getName.end_with?("/pom.properties") }
|
56
|
+
|
57
|
+
# Some jar files have multiple maven pom.properties files. It is unclear how to know what is correct?
|
58
|
+
# TODO(sissel): Maybe we should use all pom.properties files? None of the pom.properties/pom.xml files have license information, though.
|
59
|
+
# TODO(sissel): In some cases, there are META-INF/COPYING and
|
60
|
+
# META-INF/NOTICE.txt files? Can we use these somehow? There is no
|
61
|
+
# common syntax for parsing these files, though...
|
62
|
+
pom_map = if pom_entries.count == 1
|
63
|
+
pom_in = jar.getInputStream(pom_entries.first)
|
64
|
+
pom_content = pom_in.available.times.collect { pom_in.read }.pack("C*")
|
65
|
+
# Split non-comment lines by `key=val` into a map { key => val }
|
66
|
+
Hash[pom_content.split(/\r?\n/).grep(/^[^#]/).map { |line| line.split("=", 2) }]
|
67
|
+
else
|
68
|
+
{}
|
69
|
+
end
|
70
|
+
|
71
|
+
next if manifest.nil?
|
72
|
+
# convert manifest attributes to a map w/ keys .to_s
|
73
|
+
# without this, the attribute keys will be `Object#inspect` values
|
74
|
+
# like #<Java::JavaUtilJar::Attributes::Name0xabcdef0>
|
75
|
+
attributes = Hash[manifest.getMainAttributes.map { |k,v| [k.to_s, v] }]
|
76
|
+
|
77
|
+
begin
|
78
|
+
# Prefer the maven/pom groupId when it is available.
|
79
|
+
artifact = pom_map.fetch("artifactId", attributes.fetch("Implementation-Title"))
|
80
|
+
group = pom_map.fetch("groupId", attributes.fetch("Implementation-Vendor-Id"))
|
81
|
+
jars << [
|
82
|
+
group + ":" + artifact,
|
83
|
+
attributes.fetch("Bundle-Version"),
|
84
|
+
attributes.fetch("Bundle-DocURL"),
|
85
|
+
SPDX.map(attributes.fetch("Bundle-License")),
|
86
|
+
]
|
87
|
+
rescue KeyError => e
|
88
|
+
# The jar is missing a required manifest field, it may not have any useful manifest data.
|
89
|
+
# Ignore it and move on.
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
jars.uniq.sort
|
94
|
+
end
|
95
|
+
|
96
|
+
module SPDX
|
97
|
+
# This is a non-exhaustive, best effort list of licenses as they map to SPDX identifiers.
|
98
|
+
ALIASES = {
|
99
|
+
"Apache-2.0" => [
|
100
|
+
"Apache 2",
|
101
|
+
"apache-2.0",
|
102
|
+
"Apache 2.0",
|
103
|
+
"Apache License (2.0)",
|
104
|
+
"Apache License 2.0",
|
105
|
+
"https://www.apache.org/licenses/LICENSE-2.0.txt",
|
106
|
+
"http://www.apache.org/licenses/LICENSE-2.0.txt",
|
107
|
+
],
|
108
|
+
"Artistic-2.0" => [
|
109
|
+
"Artistic 2.0"
|
110
|
+
],
|
111
|
+
"BSD-2-Clause" => [
|
112
|
+
"2-clause BSDL",
|
113
|
+
"2-clause"
|
114
|
+
],
|
115
|
+
"GPL-2.0" => [
|
116
|
+
"GPL-2"
|
117
|
+
]
|
118
|
+
}
|
119
|
+
|
120
|
+
# Get a map of name => spdx
|
121
|
+
MAP_APACHE2 = Hash[ALIASES.map { |spdx,aliases| aliases.map { |value| [value, spdx] } }[0]]
|
122
|
+
MAP_ARTISTIC2 = Hash[ALIASES.map { |spdx,aliases| aliases.map { |value| [value, spdx] } }[1]]
|
123
|
+
MAP_BSD = Hash[ALIASES.map { |spdx,aliases| aliases.map { |value| [value, spdx] } }[2]]
|
124
|
+
MAP_GPL2 = Hash[ALIASES.map { |spdx,aliases| aliases.map { |value| [value, spdx] } }[3]]
|
125
|
+
|
126
|
+
module_function
|
127
|
+
def map(value)
|
128
|
+
MAP_APACHE2[value] || MAP_ARTISTIC2[value] || MAP_BSD[value] || MAP_GPL2[value] || value
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative "../../../lib/bootstrap/environment"
|
2
|
+
|
3
|
+
if $0 == __FILE__
|
4
|
+
begin
|
5
|
+
LogStash::Bundler.setup!({:without => [:build, :development]})
|
6
|
+
rescue => Bundler::GemfileNotFound
|
7
|
+
$stderr.puts("No Gemfile found. Maybe you need to run `rake artifact:tar`?")
|
8
|
+
raise
|
9
|
+
end
|
10
|
+
|
11
|
+
require "logstash/namespace"
|
12
|
+
require_relative "../../../lib/bootstrap/patches/jar_dependencies"
|
13
|
+
require "logstash/dependency_report"
|
14
|
+
|
15
|
+
exit_status = LogStash::DependencyReport.run
|
16
|
+
exit(exit_status || 0)
|
17
|
+
end
|
@@ -8,6 +8,10 @@ describe LogStash::Compiler do
|
|
8
8
|
Java::OrgLogstashConfigIr::DSL
|
9
9
|
end
|
10
10
|
|
11
|
+
def rand_meta
|
12
|
+
org.logstash.common.SourceWithMetadata.new("test", SecureRandom.uuid, 1, 1, SecureRandom.uuid)
|
13
|
+
end
|
14
|
+
|
11
15
|
let(:source_protocol) { "test_proto" }
|
12
16
|
|
13
17
|
let(:settings) { mock_settings({}) }
|
@@ -173,7 +177,7 @@ describe LogStash::Compiler do
|
|
173
177
|
let(:plugin_source) { "generator {}" }
|
174
178
|
|
175
179
|
it "should contain the plugin" do
|
176
|
-
expect(c_plugin).to ir_eql(j.iPlugin(INPUT, "generator"))
|
180
|
+
expect(c_plugin).to ir_eql(j.iPlugin(rand_meta, INPUT, "generator"))
|
177
181
|
end
|
178
182
|
end
|
179
183
|
|
@@ -190,7 +194,7 @@ describe LogStash::Compiler do
|
|
190
194
|
end
|
191
195
|
|
192
196
|
it "should contain the plugin" do
|
193
|
-
expect(c_plugin).to ir_eql(j.iPlugin(INPUT, "generator", expected_plugin_args))
|
197
|
+
expect(c_plugin).to ir_eql(j.iPlugin(rand_meta, INPUT, "generator", expected_plugin_args))
|
194
198
|
end
|
195
199
|
end
|
196
200
|
|
@@ -203,7 +207,7 @@ describe LogStash::Compiler do
|
|
203
207
|
end
|
204
208
|
|
205
209
|
it "should contain the plugin" do
|
206
|
-
expect(c_plugin).to ir_eql(j.iPlugin(INPUT, "generator", expected_plugin_args))
|
210
|
+
expect(c_plugin).to ir_eql(j.iPlugin(rand_meta, INPUT, "generator", expected_plugin_args))
|
207
211
|
end
|
208
212
|
end
|
209
213
|
|
@@ -216,7 +220,7 @@ describe LogStash::Compiler do
|
|
216
220
|
end
|
217
221
|
|
218
222
|
it "should contain the plugin" do
|
219
|
-
expect(c_plugin).to ir_eql(j.iPlugin(INPUT, "generator", expected_plugin_args))
|
223
|
+
expect(c_plugin).to ir_eql(j.iPlugin(rand_meta, INPUT, "generator", expected_plugin_args))
|
220
224
|
end
|
221
225
|
end
|
222
226
|
|
@@ -245,7 +249,7 @@ describe LogStash::Compiler do
|
|
245
249
|
end
|
246
250
|
|
247
251
|
it "should merge the contents of the individual directives" do
|
248
|
-
expect(c_plugin).to ir_eql(j.iPlugin(FILTER, "grok", expected_plugin_args))
|
252
|
+
expect(c_plugin).to ir_eql(j.iPlugin(rand_meta, FILTER, "grok", expected_plugin_args))
|
249
253
|
end
|
250
254
|
|
251
255
|
describe "a filter plugin that has nested Hash directives" do
|
@@ -300,7 +304,7 @@ describe LogStash::Compiler do
|
|
300
304
|
end
|
301
305
|
|
302
306
|
it "should produce a nested ::Hash object" do
|
303
|
-
expect(c_plugin).to ir_eql(j.iPlugin(FILTER, "matryoshka", expected_plugin_args))
|
307
|
+
expect(c_plugin).to ir_eql(j.iPlugin(rand_meta, FILTER, "matryoshka", expected_plugin_args))
|
304
308
|
end
|
305
309
|
end
|
306
310
|
end
|
@@ -313,7 +317,7 @@ describe LogStash::Compiler do
|
|
313
317
|
let(:source) { "input { generator {} }" }
|
314
318
|
|
315
319
|
it "should contain the single input" do
|
316
|
-
expect(input).to ir_eql(j.iPlugin(INPUT, "generator"))
|
320
|
+
expect(input).to ir_eql(j.iPlugin(rand_meta, INPUT, "generator"))
|
317
321
|
end
|
318
322
|
|
319
323
|
it_should_behave_like("component source_with_metadata") do
|
@@ -326,8 +330,8 @@ describe LogStash::Compiler do
|
|
326
330
|
|
327
331
|
it "should contain both inputs" do
|
328
332
|
expect(input).to ir_eql(j.iComposeParallel(
|
329
|
-
j.iPlugin(INPUT, "generator", {"count" => 1}),
|
330
|
-
j.iPlugin(INPUT, "generator", {"count" => 2})
|
333
|
+
j.iPlugin(rand_meta, INPUT, "generator", {"count" => 1}),
|
334
|
+
j.iPlugin(rand_meta, INPUT, "generator", {"count" => 2})
|
331
335
|
))
|
332
336
|
end
|
333
337
|
end
|
@@ -351,7 +355,7 @@ describe LogStash::Compiler do
|
|
351
355
|
let (:compiled_section) { compiled[section] }
|
352
356
|
|
353
357
|
def splugin(*args)
|
354
|
-
j.iPlugin(section_name_enum, *args)
|
358
|
+
j.iPlugin(rand_meta, section_name_enum, *args)
|
355
359
|
end
|
356
360
|
|
357
361
|
def compose(*statements)
|
@@ -635,6 +639,7 @@ describe LogStash::Compiler do
|
|
635
639
|
|
636
640
|
it "should compile correctly" do
|
637
641
|
expect(compiled_section).to ir_eql(j.iIf(
|
642
|
+
rand_meta,
|
638
643
|
j.eEq(j.eEventValue("[foo]"), j.eEventValue("[bar]")),
|
639
644
|
splugin("grok")
|
640
645
|
)
|
@@ -647,6 +652,7 @@ describe LogStash::Compiler do
|
|
647
652
|
|
648
653
|
it "should compile correctly" do
|
649
654
|
expect(compiled_section).to ir_eql(j.iIf(
|
655
|
+
rand_meta,
|
650
656
|
j.eEq(j.eEventValue("[foo]"), j.eEventValue("[bar]")),
|
651
657
|
j.noop,
|
652
658
|
splugin("fplugin"),
|
@@ -660,6 +666,7 @@ describe LogStash::Compiler do
|
|
660
666
|
|
661
667
|
it "should compile correctly" do
|
662
668
|
expect(compiled_section).to ir_eql(j.iIf(
|
669
|
+
rand_meta,
|
663
670
|
j.eEq(j.eEventValue("[foo]"), j.eEventValue("[bar]")),
|
664
671
|
j.noop,
|
665
672
|
j.noop
|
@@ -673,6 +680,7 @@ describe LogStash::Compiler do
|
|
673
680
|
|
674
681
|
it "should compile correctly" do
|
675
682
|
expect(compiled_section).to ir_eql(j.iIf(
|
683
|
+
rand_meta,
|
676
684
|
j.eEq(j.eEventValue("[foo]"), j.eEventValue("[bar]")),
|
677
685
|
splugin("tplugin"),
|
678
686
|
splugin("fplugin")
|
@@ -686,9 +694,11 @@ describe LogStash::Compiler do
|
|
686
694
|
|
687
695
|
it "should compile correctly" do
|
688
696
|
expect(compiled_section).to ir_eql(j.iIf(
|
697
|
+
rand_meta,
|
689
698
|
j.eEq(j.eEventValue("[foo]"), j.eEventValue("[bar]")),
|
690
699
|
splugin("tplugin"),
|
691
700
|
j.iIf(
|
701
|
+
rand_meta,
|
692
702
|
j.eEq(j.eEventValue("[bar]"), j.eEventValue("[baz]")),
|
693
703
|
splugin("eifplugin"),
|
694
704
|
splugin("fplugin")
|
@@ -712,12 +722,15 @@ describe LogStash::Compiler do
|
|
712
722
|
|
713
723
|
it "should compile correctly" do
|
714
724
|
expect(compiled_section).to ir_eql(j.iIf(
|
725
|
+
rand_meta,
|
715
726
|
j.eEq(j.eEventValue("[foo]"), j.eEventValue("[bar]")),
|
716
727
|
splugin("tplugin"),
|
717
728
|
j.iIf(
|
729
|
+
rand_meta,
|
718
730
|
j.eEq(j.eEventValue("[bar]"), j.eEventValue("[baz]")),
|
719
731
|
splugin("eifplugin"),
|
720
732
|
j.iIf(
|
733
|
+
rand_meta,
|
721
734
|
j.eEq(j.eEventValue("[baz]"), j.eEventValue("[bot]")),
|
722
735
|
splugin("eeifplugin"),
|
723
736
|
splugin("fplugin")
|
@@ -744,15 +757,18 @@ describe LogStash::Compiler do
|
|
744
757
|
|
745
758
|
it "should compile correctly" do
|
746
759
|
expect(compiled_section).to ir_eql(j.iIf(
|
760
|
+
rand_meta,
|
747
761
|
j.eEq(j.eEventValue("[foo]"), j.eEventValue("[bar]")),
|
748
|
-
j.iIf(j.eEq(j.eEventValue("[bar]"), j.eEventValue("[baz]")),
|
762
|
+
j.iIf(rand_meta, j.eEq(j.eEventValue("[bar]"), j.eEventValue("[baz]")),
|
749
763
|
splugin("aplugin"),
|
750
764
|
j.noop
|
751
765
|
),
|
752
766
|
j.iIf(
|
767
|
+
rand_meta,
|
753
768
|
j.eEq(j.eEventValue("[bar]"), j.eEventValue("[baz]")),
|
754
769
|
splugin("bplugin"),
|
755
770
|
j.iIf(
|
771
|
+
rand_meta,
|
756
772
|
j.eEq(j.eEventValue("[baz]"), j.eEventValue("[bot]")),
|
757
773
|
splugin("cplugin"),
|
758
774
|
splugin("dplugin")
|
@@ -773,7 +789,7 @@ describe LogStash::Compiler do
|
|
773
789
|
let(:source) { "input { } filter { grok {} } output { }" }
|
774
790
|
|
775
791
|
it "should contain the single filter" do
|
776
|
-
expect(filter).to ir_eql(j.iPlugin(FILTER, "grok"))
|
792
|
+
expect(filter).to ir_eql(j.iPlugin(rand_meta, FILTER, "grok"))
|
777
793
|
end
|
778
794
|
|
779
795
|
it_should_behave_like("component source_with_metadata") do
|
@@ -791,7 +807,7 @@ describe LogStash::Compiler do
|
|
791
807
|
let(:source) { "input { } output { stdout {} }" }
|
792
808
|
|
793
809
|
it "should contain the single input" do
|
794
|
-
expect(output).to ir_eql(j.iPlugin(OUTPUT, "stdout"))
|
810
|
+
expect(output).to ir_eql(j.iPlugin(rand_meta, OUTPUT, "stdout"))
|
795
811
|
end
|
796
812
|
|
797
813
|
it_should_behave_like("component source_with_metadata") do
|
data/versions-gem-copy.yml
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.1.
|
4
|
+
version: 6.1.2
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -387,6 +387,8 @@ files:
|
|
387
387
|
- lib/logstash/config/source_loader.rb
|
388
388
|
- lib/logstash/config/string_escape.rb
|
389
389
|
- lib/logstash/converge_result.rb
|
390
|
+
- lib/logstash/dependency_report.rb
|
391
|
+
- lib/logstash/dependency_report_runner.rb
|
390
392
|
- lib/logstash/elasticsearch_client.rb
|
391
393
|
- lib/logstash/environment.rb
|
392
394
|
- lib/logstash/errors.rb
|