aboutsummaryrefslogtreecommitdiffstats
path: root/railties/Rakefile
diff options
context:
space:
mode:
Diffstat (limited to 'railties/Rakefile')
-rw-r--r--railties/Rakefile92
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."