logstash-core 6.1.1-java → 6.1.2-java
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/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
|