require 'rake' ENV['RUBY_FLAGS'] = '-W1' # Generate all the Rake tasks # Run 'rake -T' to see list of generated tasks (from gem root directory) require 'jeweler' Jeweler::Tasks.new do |gem| gem.name = 'roxml' gem.rubyforge_project = "roxml" gem.summary = "Ruby Object to XML mapping library" gem.description = < [:test, :spec, 'test:load'] task :all => [:libxml, :nokogiri, 'test:load'] task :libxml => ['test:libxml', 'spec:libxml'] task :nokogiri => ['test:nokogiri', 'spec:nokogiri'] require 'rake/rdoctask' Rake::RDocTask.new do |rdoc| if File.exist?('VERSION') version = File.read('VERSION') else version = "" end rdoc.rdoc_dir = 'rdoc' rdoc.title = "roxml #{version}" rdoc.rdoc_files.include('README*') rdoc.rdoc_files.include('lib/**/*.rb') end require 'rspec/core/rake_task' desc "Run specs" RSpec::Core::RakeTask.new(:spec) do |spec| spec.ruby_opts = '-Ilib -Ispec -Iexamples' # spec.spec_files = FileList['spec/**/*_spec.rb'] end namespace :spec do [:libxml, :nokogiri].each do |parser| desc "Spec ROXML under the #{parser} parser" RSpec::Core::RakeTask.new(parser) do |spec| spec.ruby_opts = '-Ilib -Ispec -Iexamples' # spec.spec_files = ["spec/support/#{parser}.rb"] + FileList['spec/**/*_spec.rb'] end end end desc "Run specs with rcov" RSpec::Core::RakeTask.new(:rcov) do |spec| spec.rcov = true spec.ruby_opts = '-Ilib -Ispec -Iexamples' # spec.spec_files = FileList['spec/**/*_spec.rb'] end require 'rake/testtask' desc "Test ROXML using the default parser selection behavior" task :test do require 'rake/runtest' $LOAD_PATH << '.' Rake.run_tests 'test/unit/*_test.rb' end namespace :test do desc "Test ROXML under the Nokogiri parser" task :nokogiri do $LOAD_PATH << '.' require 'spec/support/nokogiri' Rake::Task["test"].invoke end desc "Test ROXML under the LibXML parser" task :libxml do $LOAD_PATH << '.' require 'spec/support/libxml' Rake::Task["test"].invoke end task :load do `ruby test/load_test.rb` puts "Load Success!" if $?.success? end desc "Runs tests under RCOV" task :rcov do system "rcov -T --no-html -x '^/' #{FileList['test/unit/*_test.rb']}" end end