PageRenderTime 44ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/Rakefile

https://bitbucket.org/carldouglas/tidy
Rakefile | 87 lines | 72 code | 15 blank | 0 comment | 1 complexity | 7a08d75f70feb0cc619454fc69d164ac MD5 | raw file
Possible License(s): 0BSD
  1. require 'rubygems'
  2. require 'rake'
  3. begin
  4. require 'jeweler'
  5. Jeweler::Tasks.new do |gem|
  6. gem.name = "tidy-ext"
  7. gem.summary = "W3C HTML Tidy library implemented as a Ruby native extension."
  8. gem.description = "Tidy up web pages."
  9. gem.email = "carl.douglas@gmail.com"
  10. gem.homepage = "https://bitbucket.org/carldouglas/tidy"
  11. gem.rubyforge_project = "tidy-ext"
  12. gem.authors = ["A. Carl Douglas"]
  13. gem.extensions = FileList["ext/**/extconf.rb"]
  14. end
  15. Jeweler::GemcutterTasks.new
  16. task :spec => :check_dependencies
  17. rescue LoadError
  18. puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
  19. end
  20. desc "Launch an IRB session with the environment loaded"
  21. task :console do
  22. exec("irb -I lib -r tidy/alone")
  23. end
  24. begin
  25. require 'spec/rake/spectask'
  26. Spec::Rake::SpecTask.new(:spec) do |spec|
  27. spec.libs << 'lib' << 'spec'
  28. spec.spec_files = FileList['spec/**/*_spec.rb']
  29. end
  30. Spec::Rake::SpecTask.new(:rcov) do |spec|
  31. spec.libs << 'lib' << 'spec'
  32. spec.pattern = 'spec/**/*_spec.rb'
  33. spec.rcov = true
  34. end
  35. task :default => :spec
  36. rescue LoadError
  37. puts "RSpec (or a dependency) not available. Install it with: gem install rspec"
  38. end
  39. require 'rdoc/task'
  40. Rake::RDocTask.new do |rdoc|
  41. version = File.exist?('VERSION') ? File.read('VERSION') : ""
  42. rdoc.rdoc_dir = 'rdoc'
  43. rdoc.title = "tidy #{version}"
  44. rdoc.rdoc_files.include('README*')
  45. rdoc.rdoc_files.include('lib/**/*.rb')
  46. end
  47. begin
  48. require 'rake/extensiontask'
  49. Rake::ExtensionTask.new do |ext|
  50. ext.name = 'tidy'
  51. ext.ext_dir = 'ext/tidy'
  52. ext.config_options << '--with-coverage' if ENV['COV']
  53. end
  54. rescue LoadError
  55. puts "rake-compiler not available. Install it with: gem install rake-compiler"
  56. end
  57. namespace :gcov do
  58. desc "Recompile with gcc coverage options"
  59. task :compile do |t|
  60. ENV['COV'] = '1'
  61. Rake::Task["compile"].invoke
  62. end
  63. desc "Run specs and output gcov info"
  64. task :spec do |t|
  65. Rake::Task[:spec].invoke
  66. obj = Dir.glob('**/ruby-tidy.o').first
  67. puts %x{cd #{File.dirname(obj)} && gcov -b --object-file #{File.basename(obj)} ruby-tidy.c}
  68. end
  69. desc "Clean, compile with gcc coverage and run specs"
  70. task :all => ["clean", :compile, :spec] do |t|
  71. end
  72. end