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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7552e565f3c3c48330156cbbe377242f94224743eb8fbe7570da6d9dcd0a2de0
4
- data.tar.gz: 52ca8909ad7532ae6b835e291925b88637b7da30a857c97f36e28fc089372334
3
+ metadata.gz: b00c8adeb8f8cfd17b847fbbeed77d2367ae24573d495ff2e23f08f02a7a7178
4
+ data.tar.gz: 121f070df4f77d854f6c9839e7adb4cbd8064f32053d24e93ef4c0694242f423
5
5
  SHA512:
6
- metadata.gz: fe8ab5dcfcb6e4a88ccfa4b1b879c509d1f2152cbd27d02973bfe0d94da5d61641d45d4452d827e17e6669608ebd0491bfb98cbd2e5871dc258d333de903c522
7
- data.tar.gz: 5bd7b2485ec5ce44a7cf8e601d8171c498e55c341a1cbf3384fa85f71f68e0df8a9d916a42dfd90e14cdccf5d921e9fd6049a5aa45d7727fde771d1500f3fedc
6
+ metadata.gz: 10a10a11213c8132deb3a3a87b1c1de3e383b642c3b8bca2280d85936010808fcf2d748565bb8bb43f4c67c82a4641d797709c165b606148e723805084069620
7
+ data.tar.gz: a2f39c7e42131ba604af2862a1046d33f1ed80e3284a9fcd54c749c7916c067905217505412c1e42976a4fdb5fca32bd65d8949f8b93920e74ed049b2cf1a771
@@ -15,14 +15,14 @@ rescue LoadError
15
15
  end
16
16
 
17
17
  if defined? Jars
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' )
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
- jdsl.iIf(condition, java_t_branch || jdsl.noop, java_f_branch || jdsl.noop)
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
- if all_elements.size == 1
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.method(:eRegexNeq)
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.method(:eRegexEq)
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
- AND_METHOD = jdsl.method(:eAnd)
53
- NAND_METHOD = jdsl.method(:eNand)
54
- OR_METHOD = jdsl.method(:eOr)
55
- XOR_METHOD = jdsl.method(:eXor)
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
@@ -1,6 +1,6 @@
1
1
  ---
2
- logstash: 6.1.1
3
- logstash-core: 6.1.1
2
+ logstash: 6.1.2
3
+ logstash-core: 6.1.2
4
4
  logstash-core-plugin-api: 2.1.16
5
5
 
6
6
  # jruby must reference a *released* version of jruby which can be downloaded from the official download url
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.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: 2017-12-17 00:00:00.000000000 Z
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