mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
1fac7b79f3
Since we want this flag to be enabled anytime we are running the tests under JRuby, let's enable this at the Rakefile level so people get the performance boost on their local checkout. Moreover, we avoid having to update this particular line anytime the option changes on the JRuby side. The only drawback is that we have to define it in every Rakefile but there's no big deal, this is already the case for other options.
53 lines
1.2 KiB
Ruby
53 lines
1.2 KiB
Ruby
require 'rake/testtask'
|
|
require 'rubygems/package_task'
|
|
|
|
test_files = Dir.glob('test/**/*_test.rb')
|
|
|
|
desc "Default Task"
|
|
task :default => :test
|
|
|
|
# Run the unit tests
|
|
Rake::TestTask.new do |t|
|
|
t.libs << 'test'
|
|
|
|
# make sure we include the tests in alphabetical order as on some systems
|
|
# this will not happen automatically and the tests (as a whole) will error
|
|
t.test_files = test_files.sort
|
|
|
|
t.warning = true
|
|
t.verbose = true
|
|
t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION)
|
|
end
|
|
|
|
namespace :test do
|
|
task :isolated do
|
|
test_files.all? do |file|
|
|
sh(Gem.ruby, '-w', '-Ilib:test', file)
|
|
end or raise "Failures"
|
|
end
|
|
end
|
|
|
|
spec = eval(File.read('actionpack.gemspec'))
|
|
|
|
Gem::PackageTask.new(spec) do |p|
|
|
p.gem_spec = spec
|
|
end
|
|
|
|
desc "Release to rubygems"
|
|
task :release => :package do
|
|
require 'rake/gemcutter'
|
|
Rake::Gemcutter::Tasks.new(spec).define
|
|
Rake::Task['gem:push'].invoke
|
|
end
|
|
|
|
task :lines do
|
|
load File.expand_path('..', File.dirname(__FILE__)) + '/tools/line_statistics'
|
|
files = FileList["lib/**/*.rb"]
|
|
CodeTools::LineStatistics.new(files).print_loc
|
|
end
|
|
|
|
rule '.rb' => '.y' do |t|
|
|
sh "racc -l -o #{t.name} #{t.source}"
|
|
end
|
|
|
|
task compile: 'lib/action_dispatch/journey/parser.rb'
|