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:
R. Tyler Croy 2013-01-08 22:36:33 -08:00
parent d40cfcd2e7
commit 3e72def10a
13 changed files with 34 additions and 33 deletions

View File

@ -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]

View File

@ -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]}"

View File

@ -1,7 +0,0 @@
require "sauce-connect/version"
module Sauce
module Connect
# Your code goes here...
end
end

View File

@ -1,5 +0,0 @@
module Sauce
module Connect
VERSION = "0.0.1"
end
end

View File

@ -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

View File

@ -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

View File

@ -5,4 +5,3 @@ require 'sauce/client'
require 'sauce/config'
require 'sauce/selenium'
require 'sauce/integrations'
require 'sauce/connect'

View File

@ -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

View File

@ -1,4 +1,4 @@
module Sauce
MAJOR_VERSION = '2.2'
MAJOR_VERSION = '2.3'
end

View File

@ -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')

View File

@ -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

View File

@ -1,5 +1,6 @@
require 'spec_helper'
require 'sauce/capybara'
require 'sauce/connect'
describe Sauce::Capybara do
describe '#connect_tunnel' do

View File

@ -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'