require 'lib/middleman' require 'rake' require 'cucumber/rake/task' begin require 'jeweler' Jeweler::Tasks.new do |gem| gem.name = "middleman" gem.summary = %Q{A static site generator utilizing Haml, Sass and providing YUI compression and cache busting} gem.email = "tdreyno@gmail.com" gem.homepage = "http://wiki.github.com/tdreyno/middleman" gem.authors = ["Thomas Reynolds"] gem.rubyforge_project = "middleman" gem.executables = %w(mm-init mm-build mm-server) gem.add_dependency("thin") gem.add_dependency("shotgun") gem.add_dependency("templater") gem.add_dependency("sprockets") gem.add_dependency("sinatra") gem.add_dependency("sinatra-content-for") gem.add_dependency("rack-test") gem.add_dependency("yui-compressor") gem.add_dependency("smusher") gem.add_dependency("haml", ">=2.1.0") gem.add_dependency("compass") gem.add_development_dependency("rdoc") gem.add_development_dependency("rspec") gem.add_development_dependency("sdoc") gem.add_development_dependency("cucumber") # Ignore vendored files gem.files = gem.files.exclude("vendor/*") end Jeweler::GemcutterTasks.new rescue LoadError puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler" end require 'spec/rake/spectask' Spec::Rake::SpecTask.new(:spec) do |spec| spec.libs << 'lib' << 'spec' spec.spec_files = FileList['spec/**/*_spec.rb'] end Spec::Rake::SpecTask.new(:rcov) do |spec| spec.libs << 'lib' << 'spec' spec.pattern = 'spec/**/*_spec.rb' spec.rcov = true end task :spec => :check_dependencies task :default => :spec require 'rake/rdoctask' require 'sdoc' Rake::RDocTask.new do |rdoc| if File.exist?('VERSION') version = File.read('VERSION') else version = "" end # rdoc.template = 'direct' rdoc.rdoc_dir = 'rdoc' rdoc.title = "middleman #{version}" rdoc.rdoc_files.include('README*') rdoc.rdoc_files.include('lib/**/*.rb') rdoc.rdoc_files.exclude('lib/middleman/features/sprockets+ruby19.rb') rdoc.rdoc_files.exclude('lib/middleman/templater+dynamic_renderer.rb') end desc "Build and publish documentation using GitHub Pages." task :pages do if !`git status`.include?('nothing to commit') abort "dirty index - not publishing!" end Rake::Task[:rerdoc].invoke `git checkout gh-pages` `ls -1 | grep -v rdoc | xargs rm -rf; mv rdoc/* .; rm -rf rdoc` `git commit -a -m "update docs"; git push origin gh-pages` `git checkout master` end