public
Description: My assistance repo w/ minor tweaks (original @ http://assistance.rubyforge.org/svn/trunk)
Homepage: http://assistance.rubyforge.org
Clone URL: git://github.com/bricooke/assistance.git
bricooke (author)
Sat Mar 08 05:41:31 -0800 2008
commit  0330ed3c45c21c7893cc8b3d05924c2b9029c639
tree    beea1cca1ef838b467e0401e0712b3d7085d5b0c
parent  3b8c4fcebb0b2a76667ddc0e87ab7fb84cf14fad
assistance / Rakefile
100644 126 lines (106 sloc) 3.907 kb
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
require "rake"
require "rake/clean"
require "rake/gempackagetask"
require "rake/rdoctask"
require "fileutils"
include FileUtils
 
##############################################################################
# Configuration
##############################################################################
NAME = "assistance"
VERS = "0.1.5"
CLEAN.include ["**/.*.sw?", "pkg/*", ".config", "doc/*", "coverage/*"]
RDOC_OPTS = [
  "--quiet",
  "--title", "Assistance: light-weight application support",
  "--opname", "index.html",
  "--line-numbers",
  "--main", "README",
  "--inline-source"
]
 
##############################################################################
# RDoc
##############################################################################
task :doc => [:rdoc]
 
Rake::RDocTask.new do |rdoc|
  rdoc.rdoc_dir = "doc/rdoc"
  rdoc.options += RDOC_OPTS
  rdoc.main = "README"
  rdoc.title = "Assistance: light-weight application support"
  rdoc.rdoc_files.add ["README", "COPYING", "lib/assistance.rb", "lib/**/*.rb"]
end
 
task :doc_rforge => [:doc]
 
desc "Update docs and upload to rubyforge.org"
task :doc_rforge do
  sh %{scp -r doc/rdoc/* ciconia@rubyforge.org:/var/www/gforge-projects/assistance}
end
 
##############################################################################
# Gem packaging
##############################################################################
desc "Packages up Assistance."
task :default => [:package]
task :package => [:clean]
 
spec = Gem::Specification.new do |s|
  s.name = NAME
  s.rubyforge_project = NAME
  s.version = VERS
  s.platform = Gem::Platform::RUBY
  s.has_rdoc = true
  s.extra_rdoc_files = ["README", "CHANGELOG", "COPYING"]
  s.rdoc_options += RDOC_OPTS +
    ["--exclude", "^(examples|extras)\/", "--exclude", "lib/assistance.rb"]
  s.summary = "light-weight application support"
  s.description = s.summary
  s.author = "Ezra Zygmuntowicz, Sam Smoot, Sharon Rosner"
  s.email = "ezmobius@gmail.com, ssmoot@gmail.com, ciconia@gmail.com"
  s.homepage = "http://assistance.rubyforge.org"
  s.required_ruby_version = ">= 1.8.4"
 
  s.files = %w(COPYING README Rakefile) + Dir.glob("{doc,spec,lib}/**/*")
 
  s.require_path = "lib"
end
 
Rake::GemPackageTask.new(spec) do |p|
  p.need_tar = true
  p.gem_spec = spec
end
 
##############################################################################
# installation & removal
##############################################################################
task :install do
  sh %{rake package}
  sh %{sudo gem install pkg/#{NAME}-#{VERS}}
end
 
task :install_no_docs do
  sh %{rake package}
  sh %{sudo gem install pkg/#{NAME}-#{VERS} --no-rdoc --no-ri}
end
 
task :uninstall => [:clean] do
  sh %{sudo gem uninstall #{NAME}}
end
 
task :tag do
  cwd = FileUtils.pwd
  sh %{cd .. && svn copy #{cwd} tags/#{NAME}-#{VERS} && svn commit -m "#{NAME}-#{VERS} tag." tags}
end
 
##############################################################################
# gem and rdoc release
##############################################################################
task :release => [:package] do
  sh %{rubyforge login}
  sh %{rubyforge add_release #{NAME} #{NAME} #{VERS} pkg/#{NAME}-#{VERS}.tgz}
  sh %{rubyforge add_file #{NAME} #{NAME} #{VERS} pkg/#{NAME}-#{VERS}.gem}
end
 
##############################################################################
# specs
##############################################################################
require "spec/rake/spectask"
 
desc "Run specs with coverage"
Spec::Rake::SpecTask.new("spec") do |t|
  t.spec_files = FileList["spec/*_spec.rb"]
  t.spec_opts = File.read("spec/spec.opts").split("\n")
  t.rcov_opts = File.read("spec/rcov.opts").split("\n")
  t.rcov = true
end
 
desc "Run specs without coverage"
Spec::Rake::SpecTask.new("spec_no_cov") do |t|
  t.spec_files = FileList["spec/*_spec.rb"]
  t.spec_opts = File.read("spec/spec.opts").split("\n")
end