Sha256: fa32dbe1b2f6b381a3dd4c1f5ca4b0879b6e85b53097d0e534b0bfc7ef5145e4

Contents?: true

Size: 887 Bytes

Versions: 1

Compression:

Stored size: 887 Bytes

Contents

raise "Only JRuby is supported at this time." unless RUBY_PLATFORM == "java"
require "gem_publisher"

# gem_publisher uses Open3.capture3 to call git binary
# this does not work on jruby. Open3.popen3 works
if RUBY_PLATFORM == "java"
  module GemPublisher
    class CliFacade
      def execute(*arguments)
        cmd = Shellwords.join(arguments)
        Open3.popen3(cmd) do |_i, stdout, stderr, thr|
          output = [stderr.read, stdout.read].join.strip
          raise Error, "`#{cmd}` -> #{output}" if thr.value.exitstatus > 0
          return output
        end
      end
    end
  end
end

desc "Publish gem to RubyGems.org"
task :publish_gem do |t|
  gem_file = Dir.glob("*.gemspec").first
  if gem_file.nil?
    raise "Cannot find any gemspec, checked for '*.gemspec.'" 
  end
  gem = GemPublisher.publish_if_updated(gem_file, :rubygems)
  puts "Published #{gem}" if gem
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logstash-devutils-2.2.0-java lib/logstash/devutils/rake/publish.rake