#!/usr/bin/env ruby
$:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')

require 'cucumber/rspec/disable_option_parser'
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