1
0
Fork 0
mirror of https://github.com/thoughtbot/capybara-webkit synced 2023-03-27 23:22:28 -04:00
capybara-webkit/Rakefile

72 lines
1.9 KiB
Text
Raw Normal View History

require 'bundler'
require 'rspec/core/rake_task'
require_relative './lib/capybara_webkit_builder'
require 'appraisal'
2011-02-18 22:53:06 -05:00
namespace :bundler do
Bundler::GemHelper.install_tasks
end
2011-02-18 22:53:06 -05:00
desc "Generate a Makefile using qmake"
file 'Makefile' do
CapybaraWebkitBuilder.makefile('CONFIG+=test') or exit(1)
2011-02-18 22:53:06 -05:00
end
desc "Regenerate dependencies using qmake"
task :qmake => 'Makefile' do
CapybaraWebkitBuilder.qmake or exit(1)
2011-02-18 22:53:06 -05:00
end
desc "Build the webkit server"
task :build => :qmake do
CapybaraWebkitBuilder.build or exit(1)
2011-02-18 22:53:06 -05:00
end
desc "Run QtTest unit tests for webkit server"
task :check => :build do
sh("make check") or exit(1)
end
2011-02-26 18:28:42 -05:00
file 'bin/webkit_server' => :build
RSpec::Core::RakeTask.new do |t|
t.pattern = "spec/**/*_spec.rb"
t.rspec_opts = "--format progress"
end
2011-02-18 22:53:06 -05:00
task :spec => :build
desc "Default: build and run all specs"
task :default => [:check, :spec]
2011-02-26 18:28:42 -05:00
desc "Generate a new command called NAME"
task :generate_command do
name = ENV['NAME'] or raise "Provide a name with NAME="
2011-02-26 18:28:42 -05:00
%w(h cpp).each do |extension|
File.open("templates/Command.#{extension}", "r") do |source_file|
contents = source_file.read
contents.gsub!("NAME", name)
File.open("src/#{name}.#{extension}", "w") do |target_file|
target_file.write(contents)
2011-02-26 18:28:42 -05:00
end
end
end
2011-02-26 18:28:42 -05:00
Dir.glob("src/*.pro").each do |project_file_name|
project = IO.read(project_file_name)
2012-02-05 10:29:58 -05:00
project.gsub!(/^(HEADERS = .*)/, "\\1\n #{name}.h \\")
project.gsub!(/^(SOURCES = .*)/, "\\1\n #{name}.cpp \\")
File.open(project_file_name, "w") { |file| file.write(project) }
end
2011-02-26 18:28:42 -05:00
File.open("src/find_command.h", "a") do |file|
2012-02-05 10:29:58 -05:00
file.write("CHECK_COMMAND(#{name})\n")
2011-02-26 18:28:42 -05:00
end
2012-02-05 10:29:58 -05:00
command_factory_file_name = "src/CommandFactory.cpp"
command_factory = IO.read(command_factory_file_name)
command_factory.sub!(/^$/, "#include \"#{name}.h\"\n")
File.open(command_factory_file_name, "w") { |file| file.write(command_factory) }
2011-02-26 18:28:42 -05:00
end