Initial gem
This commit is contained in:
parent
52ff47388d
commit
9e27f7d6f4
|
@ -10,3 +10,4 @@ qrc_*
|
|||
*.app
|
||||
moc_*.cpp
|
||||
.bundle
|
||||
pkg
|
||||
|
|
75
Rakefile
75
Rakefile
|
@ -2,9 +2,50 @@ require 'rubygems'
|
|||
require 'bundler/setup'
|
||||
require 'fileutils'
|
||||
require 'rspec/core/rake_task'
|
||||
require 'rake/gempackagetask'
|
||||
|
||||
desc "Generate a new command called NAME"
|
||||
task :generate_command do
|
||||
desc "Generate a Makefile using qmake"
|
||||
file 'Makefile' do
|
||||
sh("qmake -spec macx-g++")
|
||||
end
|
||||
|
||||
desc "Regenerate dependencies using qmake"
|
||||
task :qmake => 'Makefile' do
|
||||
sh("make qmake")
|
||||
end
|
||||
|
||||
desc "Build the webkit server"
|
||||
task :build => :qmake do
|
||||
sh("make")
|
||||
|
||||
FileUtils.mkdir("bin") unless File.directory?("bin")
|
||||
|
||||
if File.exist?("src/webkit_server.app")
|
||||
FileUtils.cp("src/webkit_server.app/Contents/MacOS/webkit_server", "bin")
|
||||
else
|
||||
FileUtils.cp("src/webkit_server", "bin")
|
||||
end
|
||||
end
|
||||
|
||||
file 'bin/webkit_server' => :build
|
||||
|
||||
unless ENV["BUILD"]
|
||||
RSpec::Core::RakeTask.new do |t|
|
||||
t.pattern = "spec/{*_spec.rb,**/*_spec.rb}"
|
||||
t.rspec_opts = "--format progress"
|
||||
end
|
||||
|
||||
desc "Default: build and run all specs"
|
||||
task :default => [:build, :spec]
|
||||
|
||||
eval("$specification = begin; #{IO.read('capybara-webkit.gemspec')}; end")
|
||||
Rake::GemPackageTask.new($specification) do |package|
|
||||
package.need_zip = true
|
||||
package.need_tar = true
|
||||
end
|
||||
|
||||
desc "Generate a new command called NAME"
|
||||
task :generate_command do
|
||||
name = ENV['NAME'] or raise "Provide a name with NAME="
|
||||
|
||||
header = "src/#{name}.h"
|
||||
|
@ -30,36 +71,6 @@ task :generate_command do
|
|||
File.open("src/find_command.h", "a") do |file|
|
||||
file.write("CHECK_COMMAND(#{name})")
|
||||
end
|
||||
end
|
||||
|
||||
desc "Generate a Makefile using qmake"
|
||||
file 'Makefile' do
|
||||
sh("qmake -spec macx-g++")
|
||||
end
|
||||
|
||||
desc "Regenerate dependencies using qmake"
|
||||
task :qmake => 'Makefile' do
|
||||
sh("make qmake")
|
||||
end
|
||||
|
||||
desc "Build the webkit server"
|
||||
task :build => :qmake do
|
||||
sh("make")
|
||||
|
||||
FileUtils.mkdir("bin") unless File.directory?("bin")
|
||||
|
||||
if File.exist?("src/webkit_server.app")
|
||||
FileUtils.cp("src/webkit_server.app/Contents/MacOS/webkit_server", "bin")
|
||||
else
|
||||
FileUtils.cp("src/webkit_server", "bin")
|
||||
end
|
||||
end
|
||||
|
||||
RSpec::Core::RakeTask.new do |t|
|
||||
t.pattern = "spec/{*_spec.rb,**/*_spec.rb}"
|
||||
t.rspec_opts = "--format progress"
|
||||
end
|
||||
|
||||
desc "Default: build and run all specs"
|
||||
task :default => [:build, :spec]
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
Gem::Specification.new do |s|
|
||||
s.name = "capybara-webkit"
|
||||
s.version = "0.1.0"
|
||||
s.authors = ["thoughtbot", "Joe Ferris", "Jason Morrison", "Tristan Dunn"]
|
||||
s.email = "support@thoughtbot.com"
|
||||
s.files = Dir['[A-Z]*', 'lib/**/*.rb', 'spec/**/*.rb', '**/*.pro', 'src/*.cpp', 'src/*.h', 'src/*.qrc', 'src/*.pro', 'src/*.js', "extconf.rb", "bin/*"]
|
||||
s.homepage = "http://github.com/thoughtbot/capybara-webkit"
|
||||
s.require_path = "lib"
|
||||
s.rubygems_version = "1.3.5"
|
||||
s.summary = "Headless Webkit driver for Capybara"
|
||||
s.add_runtime_dependency "capybara", "~> 0.4.1"
|
||||
s.extensions = "extconf.rb"
|
||||
end
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
system("rake build BUILD=true")
|
||||
|
|
@ -52,7 +52,8 @@ class Capybara::Driver::Webkit
|
|||
private
|
||||
|
||||
def start_server
|
||||
@pid = fork { exec("webkit_server") }
|
||||
server_path = File.expand_path("../../../../../bin/webkit_server", __FILE__)
|
||||
@pid = fork { exec(server_path) }
|
||||
at_exit { Process.kill("INT", @pid) }
|
||||
end
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@ require 'rspec/autorun'
|
|||
PROJECT_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..')).freeze
|
||||
|
||||
$LOAD_PATH << File.join(PROJECT_ROOT, 'lib')
|
||||
ENV["PATH"] = ENV["PATH"] + ":" + File.join(PROJECT_ROOT, "bin")
|
||||
|
||||
Dir[File.join(PROJECT_ROOT, 'spec', 'support', '**', '*.rb')].each { |file| require(file) }
|
||||
|
||||
|
|
Loading…
Reference in New Issue