Changeset 1195
- Timestamp:
- 01/08/08 02:34:41 (11 months ago)
- Files:
-
- trunk/Rakefile (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Rakefile
r1179 r1195 6 6 require 'spec/rake/spectask' 7 7 require 'fileutils' 8 8 9 def __DIR__ 9 10 File.dirname(__FILE__) 10 11 end 11 12 12 require __DIR__+'/tools/rakehelp' 13 require __DIR__+'/tools/annotation_extract' 13 require __DIR__ + '/tools/rakehelp' 14 require __DIR__ + '/tools/annotation_extract' 15 14 16 include FileUtils 15 17 16 18 NAME = "merb" 19 17 20 require 'lib/merb/version' 21 18 22 CLEAN.include ['**/.*.sw?', '*.gem', '.config'] 19 20 23 21 24 windows = (PLATFORM =~ /win32|cygwin/) … … 23 26 SUDO = windows ? "" : "sudo" 24 27 25 setup_clean [ "pkg", "lib/*.bundle", "*.gem", "doc/rdoc", ".config", 'coverage', "cache", "log"]28 setup_clean ["pkg", "lib/*.bundle", "*.gem", "doc/rdoc", ".config", 'coverage', "cache", "log"] 26 29 27 30 28 desc "Packages up Merb." 29 task :default => [:package] 31 desc 'Packages up Merb.' 32 task :default => :package 33 30 34 task :merb => [:clean, :rdoc, :package] 31 35 32 task :doc => [:rdoc] 33 36 task :doc => :rdoc 34 37 35 38 Rake::RDocTask.new do |rdoc| 36 files = ['README', 'LICENSE', 'CHANGELOG', 37 'lib/**/*.rb'] 38 rdoc.rdoc_files.add(files) 39 rdoc.main = 'README' 40 rdoc.title = 'Merb Docs' 41 rdoc.template = __DIR__ + '/tools/allison-2.0.2/lib/allison.rb' 42 rdoc.rdoc_dir = 'doc/rdoc' 43 rdoc.options << '--line-numbers' << '--inline-source' 39 files = ['README', 'LICENSE', 'CHANGELOG', 'lib/**/*.rb'] 40 rdoc.rdoc_files.add(files) 41 rdoc.main = 'README' 42 rdoc.title = 'Merb Docs' 43 rdoc.template = __DIR__ + '/tools/allison-2.0.2/lib/allison.rb' 44 rdoc.rdoc_dir = 'doc/rdoc' 45 rdoc.options << '--line-numbers' << '--inline-source' 44 46 end 45 47 … … 50 52 s.has_rdoc = true 51 53 s.extra_rdoc_files = %w( README LICENSE TODO ) 52 #s.rdoc_options += RDOC_OPTS + 53 # ['--exclude', '^(app|uploads)'] 54 # s.rdoc_options += RDOC_OPTS + ['--exclude', '^(app|uploads)'] 54 55 s.summary = 'Merb == Mongrel + Erb. Pocket rocket web framework.' 55 56 s.description = s.summary … … 88 89 89 90 desc 'Run :clean and uninstall the .gem' 90 task :uninstall => [:clean]do91 task :uninstall => :clean do 91 92 sh %{#{SUDO} gem uninstall #{NAME}} 92 93 end … … 140 141 141 142 STATS_DIRECTORIES = [ 142 %w(Code lib/), 143 %w(Unit\ tests specs), 144 ].collect { |name, dir| [ name, "./#{dir}" ] }.select { |name, dir| File.directory?(dir) } 143 ['Code', 'lib/'], 144 ['Unit tests', 'specs'] 145 ].collect { |name, dir| [ name, "./#{dir}" ] }. 146 select { |name, dir| File.directory?(dir) } 145 147 146 148 desc "Report code statistics (KLOCs, etc) from the application" … … 166 168 desc "Add new files to subversion" 167 169 task :svn_add do 168 system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add"170 system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add" 169 171 end 170 172 171 173 172 # Run specific tests or test files 174 # Run specific tests or test files. Searches nested spec directories as well. 173 175 # 174 176 # Based on a technique popularized by Geoffrey Grosenbach … … 177 179 # spec:spec_file:spec_name 178 180 if /spec:(.*)$/.match(t.name) 179 arguments = t.name.split(":") 181 arguments = t.name.split(':') 182 180 183 file_name = arguments[1] 181 184 spec_name = arguments[2..-1] 182 185 183 if File.exist?(path = "spec/merb/#{file_name}_spec.rb") 186 spec_filename = "#{file_name}_spec.rb" 187 specs = Dir["spec/merb/**/#{spec_filename}"] 188 189 if path = specs.detect { |f| spec_filename == File.basename(f) } 184 190 run_file_name = path 185 191 end 186 192 187 example = !spec_name.empty? ? " -e '#{spec_name}'" : ""193 example = " -e '#{spec_name}'" unless spec_name.empty? 188 194 189 sh "#{spec_cmd} #{run_file_name} --format specdoc --colour #{example}" 195 sh "#{spec_cmd} #{run_file_name} --format specdoc --colour #{example}" 190 196 end 191 197 end
