require "rubygems" require "rake/gempackagetask" require "rake/rdoctask" require 'rspec/core/rake_task' desc "Run all examples" RSpec::Core::RakeTask.new task :default => :spec # This builds the actual gem. For details of what all these options # mean, and other ones you can add, check the documentation here: # # http://rubygems.org/read/chapter/20 # spec = Gem::Specification.new do |s| # Change these as appropriate s.name = "parslet" s.version = "0.10.1" s.summary = "Parser construction library with great error reporting in Ruby." s.author = "Kaspar Schiess" s.email = "kaspar.schiess@absurd.li" s.homepage = "http://kschiess.github.com/parslet" s.has_rdoc = true s.extra_rdoc_files = %w(README) s.rdoc_options = %w(--main README) # Add any extra files to include in the gem s.files = %w(Gemfile HISTORY.txt LICENSE Rakefile README) + Dir.glob("{spec,lib/**/*}") s.require_paths = ["lib"] # If you want to depend on other gems, add them here, along with any # relevant versions s.add_dependency("blankslate", "~> 2.1.2.3") # If your tests use any gems, include them here s.add_development_dependency("rspec") s.add_development_dependency("flexmock") end # This task actually builds the gem. We also regenerate a static # .gemspec file, which is useful if something (i.e. GitHub) will # be automatically building a gem for this project. If you're not # using GitHub, edit as appropriate. # # To publish your gem online, install the 'gemcutter' gem; Read more # about that here: http://gemcutter.org/pages/gem_docs Rake::GemPackageTask.new(spec) do |pkg| pkg.gem_spec = spec end desc "Build the gemspec file #{spec.name}.gemspec" task :gemspec do file = File.dirname(__FILE__) + "/#{spec.name}.gemspec" File.open(file, "w") {|f| f << spec.to_ruby } end task :package => :gemspec require 'sdoc' # Generate documentation Rake::RDocTask.new do |rdoc| rdoc.options << '--fmt' << 'shtml' # explictly set shtml generator rdoc.template = 'direct' # lighter template used on railsapi.com rdoc.main = "README" rdoc.rdoc_files.include("README", "lib/**/*.rb") rdoc.rdoc_dir = "rdoc" end desc 'Clear out RDoc and generated packages' task :clean => [:clobber_rdoc, :clobber_package] do rm "#{spec.name}.gemspec" end