forked from markaby/markaby
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
78 lines (64 loc) · 2.07 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
require 'rake'
require 'rspec/core/rake_task'
require 'rake/testtask'
require 'rake/clean'
begin
require 'hanna/rdoctask'
Rake::RDocTask.new do |rdoc|
rdoc.rdoc_dir = 'doc/rdoc'
rdoc.options << '--line-numbers'
rdoc.rdoc_files.add(['README.rdoc', 'CHANGELOG.rdoc', 'lib/**/*.rb'])
end
rescue LoadError
puts "Could not load hanna-rdoc. Please install with mislav-hanna package"
end
task :default => [:spec, :test]
Rake::TestTask.new(:test) do |t|
t.pattern = 'spec/markaby/*_test.rb'
end
RSpec::Core::RakeTask.new(:spec)
begin
require 'jeweler'
Jeweler::Tasks.new do |gemspec|
gemspec.name = "markaby"
gemspec.summary = "Markup as Ruby, write HTML in your native Ruby tongue"
gemspec.description = "Tim Fletcher and _why's ruby driven HTML templating system"
gemspec.email = "[email protected]"
gemspec.homepage = "http://markaby.github.com/markaby/"
gemspec.authors = ["_why", "Tim Fletcher", "John Barton", "spox", "smtlaissezfaire"]
gemspec.add_dependency 'builder', '>=2.0.0'
end
rescue LoadError
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
end
desc "List any Markaby specific warnings"
task :warnings do
`ruby -w test/test_markaby.rb 2>&1`.split(/\n/).each do |line|
next unless line =~ /warning:/
next if line =~ /builder-/
puts line
end
end
desc "Start a Markaby-aware IRB session"
task :irb do
sh 'irb -I lib -r markaby -r markaby/kernel_method'
end
namespace :gemspec do
task :commit do
sh "git add ."
sh "git commit -m 'Update gemspec'"
end
end
namespace :release do
task :patch => [:spec, "version:bump:patch", :update_gemspec, :rerdoc, :tag_release, :build, :push_tags]
task :update_gemspec => ["gemspec:generate", "gemspec:validate", "gemspec:commit"]
task :tag_release do
require File.dirname(__FILE__) + "/lib/markaby"
version = "v#{Markaby::VERSION}"
sh "git tag #{version}"
end
task :push_tags do
sh "git push --tags"
end
end
task :release => "release:patch"