mirror of
https://github.com/elastic/logstash.git
synced 2025-06-27 17:08:55 -04:00
* upgrade jruby to 9.4.11.0 * follow up cleanups * follow up cleanups * follow up cleanups * follow up cleanups * add licenses * Update rakelib/plugins-metadata.json * attempt to fix rubygems * attempt to fix rubygems * attempt to fix rubygems * tweaks for jruby 9.4.12.0 and sha256 validation * attempt at fixing rubygems * attempt at fixing rubygems * attempt at fixing rubygems * attempt at fixing rubygems * Bump jruby to 9.4.12.1 * Explicitly require 'set' to make `to_set` available Something appears to have changed in code loading where this require is no longer in the call chain. Explicitly require it here. * Fix up dependency mapper * Update bundler code with latest rubygems release This commit makes 2 changes: 1. We were sending a `Gem::Platform` instance to Thor parser instead of a string. Convert to string version of a platform name. With newly added checks in Thor, we were getting `noMethodError` for `Gem::Platform`. 2. It looks like there was a patch to get around a bug in bundler that was reaching out to the network for local gems. This appears to have been fixed upstream, this removes the patch. * Restore patch * Remove patch (TODO, link to full writeup) * SPIKE: Take up jruby 9.4.13.0 * Patch bundler cache Still validating this. Essentially ensure we check local gems when calling cache using the updated rubygems class. * WIP: test patch for acceptance tests * Skip when unable to cache * Cache every gem * Fix acceptance test * Force another route through builtin * Fixup idea (it returns nil, not raise) * Fix missing version update * Fix qatest filter plugin Without including a gemspec with a locally built gem logstash-plugin list will not show it in the output. * Use vendored gem instead of reaching out to rubygems We vendor an udpated test gem for local install. Use that instead of reaching out to rubygems. * Document and comment on the patched bundler code * Fix test instead of downloading the "broken" one from rubygems (downloading the `.gem` file directly does show up in plugin-list), using a vendored one polutes the cache. Use a new vendored gem --------- Co-authored-by: João Duarte <jsvduarte@gmail.com> Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
94 lines
4.4 KiB
Ruby
94 lines
4.4 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)
|
|
# introduce the version qualifier (e.g. beta1, rc1) into the copied yml so it's displayed by Logstash
|
|
unless ENV['VERSION_QUALIFIER'].to_s.strip.empty?
|
|
logstash_version_line = original_lines.find {|line| line.match(/^logstash:/) }
|
|
logstash_version_line.chomp!
|
|
logstash_version_line << "-#{ENV['VERSION_QUALIFIER']}\n"
|
|
end
|
|
original_lines << "\n"
|
|
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 = "https://www.elastic.co/logstash"
|
|
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 "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", '~> 8'
|
|
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
|