forked from elastic/logstash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogstash-core.gemspec
90 lines (73 loc) · 4.27 KB
/
logstash-core.gemspec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# -*- encoding: utf-8 -*-
# NOTE: please use `rake artifact:gems` or `rake artifact:build-logstash-core` to build LS gems
# You can add a version qualifier (e.g. alpha1) via the VERSION_QUALIFIER env var, e.g.
# VERSION_QUALIFIER=beta2 RELEASE=1 rake artifact:build-logstash-core
# `require 'logstash-core/version'` is aware of this env var
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
project_versions_yaml_path = File.expand_path("../versions.yml", File.dirname(__FILE__))
if File.exist?(project_versions_yaml_path)
# we need to copy the project level versions.yml into the gem root
# to be able to package it into the gems file structure
# as the require 'logstash-core/version' loads the yaml file from within the gem root.
#
# we ignore the copy in git and we overwrite an existing file
# each time we build the logstash-core gem
original_lines = IO.readlines(project_versions_yaml_path)
original_lines << ""
original_lines << "# This is a copy the project level versions.yml into this gem's root and it is created when the gemspec is evaluated."
gem_versions_yaml_path = File.expand_path("./versions-gem-copy.yml", File.dirname(__FILE__))
File.open(gem_versions_yaml_path, 'w') do |new_file|
# create or overwrite
new_file.puts(original_lines)
end
end
require 'logstash-core/version'
Gem::Specification.new do |gem|
gem.authors = ["Elastic"]
gem.email = ["[email protected]"]
gem.description = %q{The core components of logstash, the scalable log and event management tool}
gem.summary = %q{logstash-core - The core components of logstash}
gem.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html"
gem.license = "Apache-2.0"
gem.files = Dir.glob(
%w(versions-gem-copy.yml logstash-core.gemspec gemspec_jars.rb lib/**/*.rb spec/**/*.rb locales/*
lib/logstash/api/init.ru lib/logstash-core/logstash-core.jar)
)
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
gem.name = "logstash-core"
gem.require_paths = ["lib"]
gem.version = LOGSTASH_CORE_VERSION.gsub("-", ".")
gem.platform = "java"
gem.add_runtime_dependency "pry", "~> 0.12" #(Ruby license)
gem.add_runtime_dependency "stud", "~> 0.0.19" #(Apache 2.0 license)
gem.add_runtime_dependency "clamp", "~> 1" #(MIT license) for command line args/flags
gem.add_runtime_dependency "filesize", "~> 0.2" #(MIT license) for :bytes config validator
gem.add_runtime_dependency "gems", "~> 1" #(MIT license)
gem.add_runtime_dependency "concurrent-ruby", "~> 1", "< 1.1.10" # pinned until https://github.com/elastic/logstash/issues/13956
gem.add_runtime_dependency "rack", '~> 3'
gem.add_runtime_dependency "sinatra", '~> 4'
gem.add_runtime_dependency 'puma', '~> 6.3', '>= 6.4.2'
gem.add_runtime_dependency 'ruby-maven-libs', '~> 3', '>= 3.8.9'
gem.add_runtime_dependency "jar-dependencies",'= 0.4.1' # Pin to `0.4.1` until https://github.com/jruby/jruby/issues/7262 is resolved
gem.add_runtime_dependency "treetop", "~> 1" #(MIT license)
gem.add_runtime_dependency "i18n", "~> 1" #(MIT license)
gem.add_runtime_dependency "thwait"
# filetools and rakelib
gem.add_runtime_dependency "minitar", "~> 1"
gem.add_runtime_dependency "rubyzip", "~> 1"
gem.add_runtime_dependency "thread_safe", "~> 0.3.6" #(Apache 2.0 license)
gem.add_runtime_dependency "jrjackson", "= #{ALL_VERSIONS.fetch('jrjackson')}" #(Apache 2.0 license)
gem.add_runtime_dependency "elasticsearch", '~> 7'
gem.add_runtime_dependency "manticore", '~> 0.6'
# xpack geoip database service
gem.add_development_dependency 'logstash-filter-geoip', '>= 7.2.1' # breaking change of DatabaseManager
gem.add_dependency 'down', '~> 5.2.0' #(MIT license)
gem.add_dependency 'tzinfo-data' #(MIT license)
# NOTE: plugins now avoid using **rufus-scheduler** directly, if logstash-core would find itself in a need
# to use rufus than preferably the **logstash-mixin-scheduler** should be changed to work with non-plugins.
#
# Using the scheduler directly might lead to issues e.g. when join-ing, see:
# https://github.com/logstash-plugins/logstash-mixin-scheduler/blob/v1.0.1/lib/logstash/plugin_mixins/scheduler/rufus_impl.rb#L85=
# and https://github.com/elastic/logstash/issues/13773
end