Refactor the sauce-connect code out into a separate sauce-connect.gem
This bumps the minor version across all gems to 2.3, due to the change in the dependency structure. Chances are this isn't going to affect many folks, or at least not enough to where I feel comfortable with a jump to 3.x Fixes #102
This commit is contained in:
parent
d40cfcd2e7
commit
3e72def10a
2
Rakefile
2
Rakefile
|
@ -76,7 +76,7 @@ Rake::RDocTask.new do |rdoc|
|
|||
rdoc.rdoc_files.include('lib/**/*.rb')
|
||||
end
|
||||
|
||||
GEMS = ['sauce-jasmine', 'sauce-cucumber']
|
||||
GEMS = ['sauce-jasmine', 'sauce-cucumber', 'sauce-connect']
|
||||
|
||||
def gem_kind(name)
|
||||
name.split('-')[1]
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require 'rubygems'
|
||||
require 'cmdparse'
|
||||
require 'yaml'
|
||||
|
@ -26,7 +25,12 @@ end
|
|||
connect = ConnectCommand.new('connect', false)
|
||||
connect.short_desc = 'Connect a Sauce Connect tunnel'
|
||||
connect.set_execution_block do |args|
|
||||
require 'sauce/connect'
|
||||
begin
|
||||
require 'sauce/connect'
|
||||
rescue LoadError
|
||||
puts "Please install the sauce-connect gem (`gem install sauce-connect`) in order to use Sauce Connect"
|
||||
exit 1
|
||||
end
|
||||
require 'sauce/config'
|
||||
config = Sauce::Config.new
|
||||
command = "#{Sauce::Connect.connect_command} #{config.username} #{config.access_key} #{ARGV[1 .. -1]}"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
require "sauce-connect/version"
|
||||
|
||||
module Sauce
|
||||
module Connect
|
||||
# Your code goes here...
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
module Sauce
|
||||
module Connect
|
||||
VERSION = "0.0.1"
|
||||
end
|
||||
end
|
|
@ -82,7 +82,7 @@ module Sauce
|
|||
end
|
||||
|
||||
def self.find_sauce_connect
|
||||
File.expand_path(File.dirname(__FILE__) + '/../../support/Sauce-Connect.jar')
|
||||
File.expand_path(File.dirname(__FILE__) + '/../../../../support/Sauce-Connect.jar')
|
||||
end
|
||||
|
||||
def self.connect_command
|
|
@ -1,19 +1,18 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
lib = File.expand_path('../lib', __FILE__)
|
||||
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
||||
require 'sauce-connect/version'
|
||||
|
||||
require File.expand_path(File.dirname(__FILE__) + '/../../lib/sauce/version')
|
||||
Gem::Specification.new do |gem|
|
||||
gem.name = "sauce-connect"
|
||||
gem.version = Sauce::Connect::VERSION
|
||||
gem.version = "#{Sauce::MAJOR_VERSION}.0"
|
||||
gem.authors = ["R. Tyler Croy"]
|
||||
gem.email = ["tyler@monkeypox.org"]
|
||||
gem.description = %q{TODO: Write a gem description}
|
||||
gem.summary = %q{TODO: Write a gem summary}
|
||||
gem.description = ""
|
||||
gem.summary = ""
|
||||
gem.homepage = ""
|
||||
|
||||
gem.files = `git ls-files`.split($/)
|
||||
gem.files = Dir['lib/**/*.rb'] + ['../../support/Sauce-Connect.jar']
|
||||
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
||||
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
||||
gem.require_paths = ["lib"]
|
||||
|
||||
gem.add_dependency('sauce', "~> #{Sauce::MAJOR_VERSION}.0")
|
||||
end
|
||||
|
|
|
@ -5,4 +5,3 @@ require 'sauce/client'
|
|||
require 'sauce/config'
|
||||
require 'sauce/selenium'
|
||||
require 'sauce/integrations'
|
||||
require 'sauce/connect'
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
require 'capybara'
|
||||
|
||||
require 'sauce/config'
|
||||
require 'sauce/connect'
|
||||
require 'sauce/selenium'
|
||||
|
||||
|
||||
|
@ -10,6 +9,13 @@ $sauce_tunnel = nil
|
|||
module Sauce
|
||||
module Capybara
|
||||
def connect_tunnel(options={})
|
||||
begin
|
||||
require 'sauce/connect'
|
||||
rescue LoadError
|
||||
puts 'Please install the `sauce-connect` gem if you intend on using Sauce Connect with your tests!'
|
||||
raise
|
||||
end
|
||||
|
||||
unless $sauce_tunnel.nil?
|
||||
return $sauce_tunnel
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
module Sauce
|
||||
MAJOR_VERSION = '2.2'
|
||||
MAJOR_VERSION = '2.3'
|
||||
end
|
||||
|
|
|
@ -10,11 +10,11 @@ Gem::Specification.new do |s|
|
|||
s.summary = "A Ruby helper for running tests in Sauce OnDemand"
|
||||
s.description = "A Ruby helper for running tests in Sauce OnDemand, Sauce Labs' browsers in the cloud service"
|
||||
# Include pretty much everything in Git except the examples/ directory
|
||||
s.files = `git ls-files`.split("\n").collect { |f| f unless f.include? 'examples' }.compact
|
||||
s.files = Dir['lib/**/*.rb']
|
||||
s.executables = ['sauce']
|
||||
s.default_executable = 'sauce'
|
||||
s.require_paths = ["lib"]
|
||||
s.test_files = Dir['test/*.rb']
|
||||
s.test_files = Dir['spec/**/*.rb']
|
||||
|
||||
s.add_dependency('net-http-persistent')
|
||||
s.add_dependency('capybara', '~> 1.0')
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
||||
require 'spec_helper'
|
||||
require 'sauce/connect'
|
||||
|
||||
|
||||
|
||||
describe 'Sauce::Connect integration testing' do
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
require 'spec_helper'
|
||||
require 'sauce/capybara'
|
||||
require 'sauce/connect'
|
||||
|
||||
describe Sauce::Capybara do
|
||||
describe '#connect_tunnel' do
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
|
||||
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../gems/sauce-jasmine/lib')
|
||||
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../gems/sauce-cucumber/lib')
|
||||
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
|
||||
|
||||
['sauce-jasmine', 'sauce-cucumber', 'sauce-connect'].each do |gem|
|
||||
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + "/../gems/#{gem}/lib"))
|
||||
end
|
||||
|
||||
require 'sauce'
|
||||
|
||||
|
|
Loading…
Reference in New Issue