diff options
Diffstat (limited to 'railties/Rakefile')
-rw-r--r-- | railties/Rakefile | 92 |
1 files changed, 19 insertions, 73 deletions
diff --git a/railties/Rakefile b/railties/Rakefile index be0f449efc..a9adbda0b5 100644 --- a/railties/Rakefile +++ b/railties/Rakefile @@ -28,7 +28,8 @@ task :default => :test ## we can see the failures task :test do Dir['test/**/*_test.rb'].all? do |file| - system("ruby -Itest #{file}") + ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME')) + system(ruby, '-Itest', file) end or raise "Failures" end @@ -244,6 +245,12 @@ def copy_with_rewritten_ruby_path(src_file, dest_file) end end +desc 'Generate guides (for authors), use ONLY=foo to process just "foo.textile"' +task :guides do + ENV["WARN_BROKEN_LINKS"] = "1" # authors can't disable this + ruby "guides/rails_guides.rb" +end + # Generate documentation ------------------------------------------------------------------ @@ -272,70 +279,6 @@ Rake::RDocTask.new { |rdoc| rdoc.rdoc_files.include('lib/commands/**/*.rb') } -desc "Generate guides for the framework. Use ONLY='migrations i18n.txt' option to build just specific ones." -task :guides do - require 'mizuho/generator' - - source = "doc/guides/source/" - html = "doc/guides/html/" - FileUtils.rm_r(html) if File.directory?(html) - FileUtils.mkdir(html) - - template = File.expand_path("doc/guides/source/templates/guides.html.erb") - asciidoc_conf = 'doc/guides/asciidoc.conf' - - ignore = ['..', 'icons', 'images', 'templates', 'stylesheets'] - ignore << 'active_record_basics.txt' - - indexless = ['index.txt', 'authors.txt'] - - # Traverse all entries in doc/guides/source/ or only those specified in ONLY env variable - entries = Dir.entries(source) - if ENV['ONLY'] - only = ENV['ONLY'].split(' ') - unless only.empty? - entries = entries.select do |e| - only.include?(e) || only.include?(e.sub(/\.txt$/, '')) - end - end - end - - entries.each do |entry| - next if ignore.include?(entry) - - if File.directory?(File.join(source, entry)) - # If the current entry is a directory, then we will want to compile - # the 'index.txt' file inside this directory. - if entry == '.' - input = File.join(source, 'index.txt') - output = File.join(html, "index.html") - else - input = File.join(source, entry, 'index.txt') - output = File.join(html, "#{entry}.html") - end - else - # If the current entry is a file, then we will want to compile this file. - input = File.join(source, entry) - output = File.join(html, entry).sub(/\.txt$/, '.html') - end - - begin - puts "GENERATING => #{output}" - ENV['MANUALSONRAILS_TOC'] = 'no' if indexless.include?(entry) - Mizuho::Generator.new(input, :output => output, :template => template, :conf_file => asciidoc_conf).start - rescue Mizuho::GenerationError - STDERR.puts "*** ERROR" - exit 2 - ensure - ENV.delete('MANUALSONRAILS_TOC') - end - end - - # Copy images and css files to html directory. These dirs are in .gitigore and shouldn't be source controlled. - FileUtils.cp_r File.join(source, 'images'), File.join(html, 'images') - FileUtils.cp_r File.join(source, 'stylesheets'), File.join(html, 'stylesheets') -end - # Generate GEM ---------------------------------------------------------------------------- task :copy_gem_environment do @@ -369,11 +312,11 @@ spec = Gem::Specification.new do |s| EOF s.add_dependency('rake', '>= 0.8.3') - s.add_dependency('activesupport', '= 2.3.0' + PKG_BUILD) - s.add_dependency('activerecord', '= 2.3.0' + PKG_BUILD) - s.add_dependency('actionpack', '= 2.3.0' + PKG_BUILD) - s.add_dependency('actionmailer', '= 2.3.0' + PKG_BUILD) - s.add_dependency('activeresource', '= 2.3.0' + PKG_BUILD) + s.add_dependency('activesupport', '= 2.3.2' + PKG_BUILD) + s.add_dependency('activerecord', '= 2.3.2' + PKG_BUILD) + s.add_dependency('actionpack', '= 2.3.2' + PKG_BUILD) + s.add_dependency('actionmailer', '= 2.3.2' + PKG_BUILD) + s.add_dependency('activeresource', '= 2.3.2' + PKG_BUILD) s.rdoc_options << '--exclude' << '.' s.has_rdoc = false @@ -402,9 +345,12 @@ task :pgem => [:gem] do `ssh gems.rubyonrails.org '/u/sites/gems/gemupdate.sh'` end -desc "Publish the API documentation" -task :pdoc => :rdoc do - # railties API isn't separately published +desc "Publish the guides" +task :pguides => :guides do + mkdir_p 'pkg' + `tar -czf pkg/guides.gz guides/output` + Rake::SshFilePublisher.new("web.rubyonrails.org", "/u/sites/guides.rubyonrails.org/public", "pkg", "guides.gz").upload + `ssh web.rubyonrails.org 'cd /u/sites/guides.rubyonrails.org/public/ && tar -xvzf guides.gz && mv guides/output/* . && rm -rf guides*'` end desc "Publish the release files to RubyForge." |