require 'fileutils' require 'rubygems' require 'platform_helpers' #require 'archive/tar/minitar' #require 'zlib' base_dir = File.expand_path(File.dirname(__FILE__)) require "#{base_dir}/lib/monkey_patch" require "#{base_dir}/lib/gem_helpers" namespace :doc do desc "create a CSV file for all test cases defined in a test suite(s)" task :some_site_suites do require "#{base_dir}/lib/gen_suite_doc" Suite.create_doc(:suite_dir => "#{base_dir}/../qa_observer/suites", :suites => []) end end namespace :install do desc "install gems to project" task :gems do puts "Go get a cup of black gold..this will take a bit" reqs = [ 'archive-tar-minitar', 'mechanize', 'minitest', 'minitest_tu_shim', 'net-scp', 'net-ssh', 'net-ssh-telnet -v 0.0.1', 'rmagick', 'templater', 'fastercsv', 'rubigen', 'getoptions', 'platform_helpers -v 0.1.2', 'color', 'json_pure', 'capture_io -v 0.1.1', 'transaction-simple', 'watir-webdriver', 'selenium-webdriver', 'childprocess', 'ffi', 'rubyzip', 'faker', 'i18n', 'rdoc', 'hpricot', 'wait_for' ] =begin reqs = [ 'ruby_core_source', 'aquarium', 'archive-tar-minitar', 'mechanize', 'minitest', 'minitest_tu_shim', 'net-scp', 'net-ssh', 'net-ssh-telnet', 'rmagick', 'templater', 'pdf-reader', 'pdf-writer', 'fastercsv', 'linecache19', 'rubigen', 'getoptions', 'platform_helpers', 'color', 'json_pure', 'columnize', 'transaction-simple', 'watir-webdriver', 'selenium-webdriver', 'ruby-debug19', 'childprocess', 'ffi', 'rubyzip', 'faker', 'i18n', 'rdoc', 'hpricot' ] =end reqs.each { |gem| GemHelpers.install(gem, "#{base_dir}/gems/installed") } end end namespace :build do desc "apply patches and update template files" task :patch do Build.monkey_patch #Build.update_firewatir end desc "copy skeleton files to project directories" task :copy_skeleton do Build.copy_skeletons_to_project end desc "modify gems/installed/bin/*.rb to include GemHelpers.update_gem_path" task :update_gem_bin do Build.update_bin end desc "Check pre-requisites" task :pre do Build.files_include?("#{base_dir}/../qa_observer", ['debugger', 'TODO', 'FIXME', 'NOTE']) Build.files_include?("#{base_dir}/../mechanize_interface", ['debugger', 'TODO', 'FIXME', 'NOTE']) Build.files_include?("#{base_dir}/../remote_unix", ['debugger', 'TODO', 'FIXME', 'NOTE']) # TODO: add additional checks end desc "Apply modifications to client" task :install_client do ['\qa_observer\client\gems\cache\archive-tar-minitar-0.5.2.gem', '\qa_observer\client\gems\cache\rubygems-update-1.3.2.gem'].each { |g| `gem install #{g}` } GemHelpers.install("#{base_dir}/gems/cache", "#{base_dir}/gems/installed") Build.update_bin Build.monkey_patch Build.update_firewatir end desc "perform a fresh checkout and create tar ball" task :package_client do Build.clean_client Build.package_client end end namespace :create_project do end