logstash/logstash-core/logstash-core.gemspec
João Duarte 0d6117173f
update multiple dependencies (#16136)
This upgrades multiple java libraries:

* snakeyaml
* shadow
* gradle
* guava
* commons-io
* commons-logging
* commons-codec
* commons-compress
* commons-lang3
* commons-csv
* log4j
* google-java-format
* httpclient
* httpcore
* javassist
* jackson
* jackson-databind
* wiremock-standalone

Gems:

* rack
*sinatra
*octokit
* gems
* rake
* webmock

Also upgrades Java to 17.0.11+9.

Leftover upgrades:

* commons-csv 1.8 breaks license checker
* janino 3.1.12 breaks java tests
* log4j 2.21.0 breaks java compilation
2024-05-08 09:13:41 +01:00

91 lines
4.2 KiB
Ruby

# -*- 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 = ["info@elastic.co"]
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 "jruby-openssl", "~> 0.14.1"
gem.add_runtime_dependency 'ruby-maven-libs', '~> 3', '>= 3.8.9'
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", "~> 0.8"
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