92 lines
2.5 KiB
Ruby
92 lines
2.5 KiB
Ruby
require 'rake'
|
|
require 'rake/testtask'
|
|
require 'rake/rdoctask'
|
|
|
|
begin
|
|
gem 'jeweler', '>= 0.11.0'
|
|
require 'jeweler'
|
|
Jeweler::Tasks.new do |s|
|
|
s.name = "jekyll"
|
|
s.summary = %Q{Jekyll is a simple, blog aware, static site generator.}
|
|
s.email = "tom@mojombo.com"
|
|
s.homepage = "http://github.com/mojombo/jekyll"
|
|
s.description = "Jekyll is a simple, blog aware, static site generator."
|
|
s.authors = ["Tom Preston-Werner"]
|
|
s.rubyforge_project = "jekyll"
|
|
s.files.exclude 'test/dest'
|
|
s.test_files.exclude 'test/dest'
|
|
s.add_dependency('RedCloth', '= 4.1.0')
|
|
s.add_dependency('liquid', '>= 1.9.0')
|
|
s.add_dependency('classifier', '>= 1.3.1')
|
|
s.add_dependency('maruku', '>= 0.5.9')
|
|
s.add_dependency('directory_watcher', '>= 1.1.1')
|
|
s.add_dependency('open4', '>= 0.9.6')
|
|
end
|
|
rescue LoadError
|
|
puts "Jeweler not available. Install it with: sudo gem install jeweler --version '>= 0.11.0'"
|
|
exit(1)
|
|
end
|
|
|
|
Rake::TestTask.new do |t|
|
|
t.libs << 'lib'
|
|
t.pattern = 'test/**/test_*.rb'
|
|
t.verbose = false
|
|
end
|
|
|
|
Rake::RDocTask.new do |rdoc|
|
|
rdoc.rdoc_dir = 'rdoc'
|
|
rdoc.title = 'jekyll'
|
|
rdoc.options << '--line-numbers' << '--inline-source'
|
|
rdoc.rdoc_files.include('README*')
|
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
end
|
|
|
|
begin
|
|
require 'rcov/rcovtask'
|
|
Rcov::RcovTask.new do |t|
|
|
t.libs << 'test'
|
|
t.test_files = FileList['test/**/test_*.rb']
|
|
t.verbose = true
|
|
end
|
|
rescue LoadError
|
|
end
|
|
|
|
task :default => [:test, :features]
|
|
|
|
# console
|
|
|
|
desc "Open an irb session preloaded with this library"
|
|
task :console do
|
|
sh "irb -rubygems -I lib -r jekyll.rb"
|
|
end
|
|
|
|
# converters
|
|
|
|
namespace :convert do
|
|
desc "Migrate from mephisto in the current directory"
|
|
task :mephisto do
|
|
sh %q(ruby -r './lib/jekyll/converters/mephisto' -e 'Jekyll::Mephisto.postgres(:database => "#{ENV["DB"]}")')
|
|
end
|
|
desc "Migrate from Movable Type in the current directory"
|
|
task :mt do
|
|
sh %q(ruby -r './lib/jekyll/converters/mt' -e 'Jekyll::MT.process("#{ENV["DB"]}", "#{ENV["USER"]}", "#{ENV["PASS"]}")')
|
|
end
|
|
desc "Migrate from Typo in the current directory"
|
|
task :typo do
|
|
sh %q(ruby -r './lib/jekyll/converters/typo' -e 'Jekyll::Typo.process("#{ENV["DB"]}", "#{ENV["USER"]}", "#{ENV["PASS"]}")')
|
|
end
|
|
end
|
|
|
|
begin
|
|
require 'cucumber/rake/task'
|
|
|
|
Cucumber::Rake::Task.new(:features) do |t|
|
|
t.cucumber_opts = "--format progress"
|
|
end
|
|
rescue LoadError
|
|
desc 'Cucumber rake task not available'
|
|
task :features do
|
|
abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
|
|
end
|
|
end
|