You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- desc 'Run features for all languages'
- task :cucumber do
- dir = File.dirname(__FILE__)
- Dir["#{dir}/*"].sort.each do |f|
- next unless File.directory?(f)
-
- lang = f[dir.length + 1..]
- message = examples_disabled?(lang)
- unless message.nil?
- $stderr.puts(message)
- next
- end
-
- Dir.chdir(f) do
- puts "DIR: #{f}"
- rake('cucumber')
- end
- end
- end
-
- task default: :cucumber
-
- def examples_disabled?(lang)
- return make_warning("SKIPPING #{lang} (The examples are out of date - please help update them)") unless examples_working?(lang)
- return make_warning("SKIPPING #{lang}: examples have been disabled for JRuby.") if jruby_disabled_examples?(lang)
- end
-
- def jruby_disabled_examples?(lang)
- return unless RUBY_PLATFORM == 'java'
-
- %w[ru uk uz].include?(lang)
- end
-
- def examples_working?(lang)
- !%w[ar].index(lang)
- end
-
- def make_warning(msg)
- %(
- !!!!!
- !!!!!
- !!!!! #{msg}
- !!!!!
- !!!!!
- )
- end
-
- def rake(args)
- ruby($PROGRAM_NAME, args)
- end
|