PageRenderTime 22ms CodeModel.GetById 13ms RepoModel.GetById 1ms app.codeStats 0ms

/plugins/thingfish-filter-rfc2822/Rakefile

https://bitbucket.org/laika/thingfish
Rakefile | 99 lines | 66 code | 28 blank | 5 comment | 1 complexity | d797af05f80247067e274925a7e18e3c MD5 | raw file
Possible License(s): BSD-3-Clause
  1. #!/usr/bin/env rake
  2. require 'rake'
  3. require 'rake/clean'
  4. require 'rake/gempackagetask'
  5. require 'rake/rdoctask'
  6. require 'spec/rake/spectask'
  7. require 'pathname'
  8. require 'fileutils'
  9. BASEDIR = Pathname.new( __FILE__ ).dirname.expand_path
  10. LIBDIR = BASEDIR + 'lib'
  11. TF_DIR = BASEDIR.parent.parent
  12. TF_LIBDIR = TF_DIR + 'lib'
  13. PKG_NAME = "thingfish-filter-rfc2822"
  14. PKG_VERSION = "0.0.1"
  15. PKG_FILE_NAME = PKG_NAME + '-' + PKG_VERSION
  16. RELEASE_NAME = "REL #{PKG_VERSION}"
  17. TEXT_FILES = %w( README LICENSE )
  18. SPEC_FILES = Dir.glob('spec/**/*_spec.rb')
  19. LIB_FILES = Dir.glob('lib/**/*.rb').delete_if {|item| item =~ /\.svn/ }
  20. RELEASE_FILES = TEXT_FILES + LIB_FILES + SPEC_FILES
  21. desc "Build package if tests pass"
  22. task :default => [:spec, :package]
  23. ### Task: spec
  24. Spec::Rake::SpecTask.new(:spec) do |task|
  25. task.libs += [TF_LIBDIR.to_s]
  26. task.spec_files = SPEC_FILES
  27. task.spec_opts = ['-c', '-f','s']
  28. end
  29. ### Task: rdoc
  30. Rake::RDocTask.new do |rdoc|
  31. rdoc.rdoc_dir = 'docs/html'
  32. rdoc.title = "ThingFish::Rfc2822Filter"
  33. rdoc.options += ['-w', '4', '-SHN', '-i', 'docs']
  34. rdoc.rdoc_files.include TEXT_FILES
  35. rdoc.rdoc_files.include LIB_FILES
  36. end
  37. ### Task: clean
  38. desc "Clean pkg, coverage, and rdoc; remove .bak files"
  39. task :clean => [ :clobber_rdoc, :clobber_package, :clobber_coverage ] do
  40. files = FileList['**/*.bak']
  41. files.clear_exclude
  42. File.rm( files ) unless files.empty?
  43. end
  44. ### Task: gem
  45. gemspec = Gem::Specification.new do |gem|
  46. gem.name = PKG_NAME
  47. gem.version = PKG_VERSION
  48. gem.summary = ":TODO: Write the gem summary"
  49. gem.description = ":TODO: Write the gem description"
  50. gem.authors = "Michael Granger and Mahlon E. Smith"
  51. gem.homepage = "http://opensource.laika.com/wiki/ThingFish/"
  52. gem.has_rdoc = true
  53. gem.files = RELEASE_FILES
  54. gem.test_files = SPEC_FILES
  55. gem.files += Dir.glob( "resources/**/*" )
  56. gem.add_dependency( 'thingfish', '>= 0.0.1' )
  57. gem.add_dependency( 'tmail', '>= 1.2.2' )
  58. end
  59. Rake::GemPackageTask.new(gemspec) do |task|
  60. task.gem_spec = gemspec
  61. task.need_tar = true
  62. task.need_zip = true
  63. end
  64. task :install => [:test, :package] do
  65. installer = Gem::Installer.new( %{pkg/#{name}-#{version}.gem} )
  66. intaller.install
  67. end
  68. task :uninstall => [:clean] do
  69. uninstaller = Gem::Uninstaller.new( name )
  70. uninstaller.uninstall
  71. end