#!/usr/bin/env ruby
# Add '.rb' to work around a bug in IronRuby's File#dirname
$:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')

require 'cucumber/rspec_neuter'
require 'cucumber/cli/main'
begin
  # The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
  failure = Cucumber::Cli::Main.execute(ARGV.dup)
  Kernel.exit(failure ? 1 : 0)
rescue SystemExit => e
  Kernel.exit(e.status)
rescue Exception => e
  STDERR.puts("#{e.message} (#{e.class})")
  STDERR.puts(e.backtrace.join("\n"))
  Kernel.exit 1
end