mirror of
https://github.com/elastic/logstash.git
synced 2025-04-22 05:37:21 -04:00
29 lines
774 B
Ruby
29 lines
774 B
Ruby
# Extract META-INFO/services/* files from jars
|
|
#
|
|
require "optparse"
|
|
|
|
output = nil
|
|
|
|
flags = OptionParser.new do |opts|
|
|
opts.on("-o", "--output DIR",
|
|
"Where to write the merged META-INF/services/* files") do |dir|
|
|
output = dir
|
|
end
|
|
end
|
|
|
|
flags.parse!(ARGV)
|
|
|
|
ARGV.each do |jar|
|
|
# Find any files matching /META-INF/services/* in any jar given on the
|
|
# command line.
|
|
# Append all file content to the output directory with the same file name
|
|
# as is in the jar.
|
|
glob = "file:///#{File.expand_path(jar)}!/META-INF/services/*"
|
|
Dir.glob(glob).each do |service|
|
|
name = File.basename(service)
|
|
File.open(File.join(output, name), "a") do |fd|
|
|
puts "Adding #{name} from #{File.basename(jar)}"
|
|
fd.write(File.read(service))
|
|
end
|
|
end
|
|
end
|