rake_ci_tools 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ea2891f07e9b27c2baba299cd4862e7d37d519c
4
- data.tar.gz: b422f5f2fd6c559ee128ff426327c4b02f431e40
3
+ metadata.gz: efec3b25900f23305d3388d4054379387145d3a1
4
+ data.tar.gz: 06a235b08365b86a32ca2f1dc04e581aae46a866
5
5
  SHA512:
6
- metadata.gz: 701aeaca95f9a37505e6f6ee987c05e58d75431955c808d7a38a9d5a8971d70375390a3cc6bbe39235717789753f3e4d22ed828fc26b296dc3750de587523270
7
- data.tar.gz: e85a166e4259c17492af310f76aeb86bd2cb04dd021f3ef800d4112560913d01cfb9964245835f0a4b08266635dadb23d56f9ee89462ff164859df0fd2f16530
6
+ metadata.gz: 45aab7ce20e24d33338a494dd8e310db89c06a2d5219d028a1f541056fd3aa67e43a19656a46ab5f1afc3d06af9b663e99ec1813922a04aa12c7edc40d7f4491
7
+ data.tar.gz: 386cee55084f41a76c0e63fc5e72c9d483b9b3c034bee2085242b36b30bd4985d3d626f9c9c0a7013ab1f960e3aab261a94f2ee6a44a835e1702514196bee783
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_ci_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - chris griffiths
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-01 00:00:00.000000000 Z
11
+ date: 2014-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -130,17 +130,7 @@ email:
130
130
  executables: []
131
131
  extensions: []
132
132
  extra_rdoc_files: []
133
- files:
134
- - lib/rake_ci_tools.rb
135
- - lib/rake_ci_tools/runners/calabash.rb
136
- - lib/rake_ci_tools/runners/sh.rb
137
- - lib/rake_ci_tools/runners/vagrant.rb
138
- - lib/rake_ci_tools/runners/xcode.rb
139
- - lib/rake_ci_tools/tasks/calabash_task.rb
140
- - lib/rake_ci_tools/tasks/cucumber_task.rb
141
- - lib/rake_ci_tools/tasks/deploy_tasks.rb
142
- - lib/rake_ci_tools/tasks/vagrant_task.rb
143
- - lib/rake_ci_tools/tasks/xcode_task.rb
133
+ files: []
144
134
  homepage: https://github.com/ChrisGriffiths/rake_ci_tools
145
135
  licenses:
146
136
  - MIT
@@ -1,17 +0,0 @@
1
- module Calabash_Runner
2
- def self.enable_accessibility
3
- sh 'calabash-ios sim acc'
4
- end
5
-
6
- def self.reset_simulator
7
- sh 'calabash-ios sim reset'
8
- end
9
-
10
- def self.sim_location(bundle_id)
11
- sh "calabash-ios sim location on #{bundle_id}"
12
- end
13
-
14
- def self.close_simulator
15
- sh "/usr/bin/osascript -e 'tell app \"iPhone Simulator\" to quit'"
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- module Kernel
2
- #Define sh runner
3
- def sh(*cmd, &block)
4
- if Hash === cmd.last then
5
- options = cmd.pop
6
- else
7
- options = {}
8
- end
9
- unless block_given?
10
- block = lambda { |ok, status|
11
- ok or fail "Command failed with status (#{status.exitstatus}): [#{cmd.join(" ")}]"
12
- }
13
- end
14
- res = system(*cmd)
15
- block.call(res, $?)
16
- end
17
- end
@@ -1,57 +0,0 @@
1
- module Vagrant
2
- def self.task(tasks=[], project_location='./')
3
- begin
4
- puts "Creating Vagrantbox for Process ID: $$"
5
- create_box('default')
6
- copy_file_to_guest(project_location)
7
- tasks.each { |task| command(task) }
8
- ensure
9
- destroy_box('default')
10
- end
11
- end
12
-
13
- def self.remoteLocation
14
- ENV['VAGANT_REMOTE_DEST'] || 'vagrant_build'
15
- end
16
-
17
- #ALL BELOW UNTESTED REFACTOR
18
- def self.create_box(boxName)
19
- sh "vagrant up #{boxName} --provision"
20
- end
21
-
22
- def self.destroy_box(boxName)
23
- puts "Destorying: #{boxName}"
24
- begin
25
- get_file_from_guest('./',"#{remoteLocation}/ci-artifacts",boxName)
26
- ensure
27
- sh "vagrant destroy -f #{boxName}"
28
- end
29
- end
30
-
31
- def self.command(command)
32
- sh "vagrant ssh --command \"cd #{remoteLocation} && #{command}\""
33
- end
34
-
35
- def self.copy_file_to_guest(localLocation, boxName = "")
36
- serverIp = get_ssh_details(/(?<=HostName ).*/, boxName)
37
- scp(localLocation,"vagrant@#{serverIp}:#{remoteLocation}", boxName)
38
- end
39
-
40
- def self.get_file_from_guest(localLocation, boxName = "")
41
- serverIp = get_ssh_details(/(?<=HostName ).*/,boxName)
42
- scp("vagrant@#{serverIp}:#{remoteLocation}",localLocation,boxName)
43
- end
44
-
45
- def self.scp(from, to, boxName="")
46
- portNum = get_ssh_details(/(?<=Port ).*/,boxName)
47
- keyPath = get_ssh_details(/(?<=IdentityFile ).*/,boxName)
48
-
49
- puts "PortNum: #{portNum}"
50
- sh "scp -o 'StrictHostKeyChecking no' -i #{keyPath} -P #{portNum} -r #{from} #{to}"
51
- end
52
-
53
- def self.get_ssh_details(regex, boxName="")
54
- response = `vagrant ssh-config #{boxName}`
55
- return response.match(regex)
56
- end
57
- end
@@ -1,26 +0,0 @@
1
- module XCode
2
- def self.build(workspace, scheme, configuration, sdk, build_dir)
3
- if workspace.nil? || scheme.nil? || configuration.nil? || sdk.nil? || build_dir.nil?
4
- raise(ArgumentError, "parameters can't be nil")
5
- end
6
-
7
- sh "xcodebuild -workspace '#{workspace}' -scheme '#{scheme}' -configuration '#{configuration}' -sdk '#{sdk}' CONFIGURATION_BUILD_DIR=#{build_dir}"
8
- end
9
-
10
- def self.build_and_test(workspace, scheme, configuration, destination)
11
- if workspace.nil? || scheme.nil? || configuration.nil? || destination.nil?
12
- raise(ArgumentError, "parameters can't be nil")
13
- end
14
-
15
- sh "xcodebuild test -workspace '#{workspace}' -scheme '#{scheme}' -configuration '#{configuration}' -destination '#{destination}'"
16
- end
17
-
18
- def self.archive(workspace, scheme, configuration, sdk, provisioning_profile, build_dir)
19
- if workspace.nil? || scheme.nil? || provisioning_profile.nil? || configuration.nil? || build_dir.nil?
20
- raise(ArgumentError, "parameters can't be nil")
21
- end
22
-
23
- build(workspace, scheme, configuration, sdk, build_dir)
24
- sh "/usr/bin/xcrun -sdk iphoneos PackageApplication -v '#{build_dir}/#{scheme}.app' -o '#{build_dir}/#{scheme}.ipa' --embed '#{provisioning_profile}'"
25
- end
26
- end
@@ -1,24 +0,0 @@
1
- require 'calabash-cucumber'
2
-
3
- namespace :calabash do
4
-
5
- desc "Reset Simulator Content and Settings"
6
- task :reset_simulator do
7
- Calabash_Runner::reset_simulator
8
- end
9
-
10
- desc "Enable Accessibility On Simulator"
11
- task :enable_accessibility do
12
- Calabash_Runner::enable_accessibility
13
- end
14
-
15
- desc "Disable Location Dialog On Simulator"
16
- task :disable_location_dialog , :bundle_id do |_,args|
17
- Calabash_Runner::sim_location(args[:bundle_id])
18
- end
19
-
20
- desc "Close the Simulator"
21
- task :close_simulator do
22
- Calabash_Runner::close_simulator
23
- end
24
- end
@@ -1,25 +0,0 @@
1
- require 'cucumber'
2
- require 'cucumber/rake/task'
3
-
4
- namespace :cucumber do
5
- desc "Run Cucumber Tests"
6
- task :run, [:features] do |_ , args|
7
- args.with_defaults(:features=>nil)
8
- Cucumber::Rake::Task.new do |t|
9
- t.fork = false
10
- t.cucumber_opts = args[:features] unless args[:features].nil?
11
- t.runner.run
12
- end
13
- end
14
-
15
- desc "Run Cucumber with profile"
16
- task :profile, [:profile,:features] do |_ , args|
17
- raise(ArgumentError, "Profile must be defined") if args[:profile].nil?
18
- Cucumber::Rake::Task.new do |t|
19
- t.fork = false
20
- t.cucumber_opts = args[:features] unless args[:features].nil?
21
- t.profile = args[:profile]
22
- t.runner.run
23
- end
24
- end
25
- end
@@ -1,6 +0,0 @@
1
- namespace :deploy do
2
- desc "Deploy to TestFlight"
3
- task :test_flight, :ipa_location, :api_token, :team_token do |_, args|
4
- Deploy.deploy_to_testflight(args[:ipa_location], args[:api_token], args[:team_token])
5
- end
6
- end
@@ -1,19 +0,0 @@
1
- namespace :vagrant do
2
- task :ios_cucumber_tests do
3
-
4
- task_list = []
5
- task_list << 'bundle'
6
- task_list << 'rake setup'
7
- task_list << 'rake build'
8
-
9
- feature_list = ENV['FEATURE_LIST'] || ''
10
-
11
- if feature_list.empty?
12
- task_list << "rake cucumber:profile['ios']"
13
- else
14
- task_list << "rake cucumber:profile['ios','#{feature_list}']"
15
- end
16
-
17
- Vagrant::task(task_list)
18
- end
19
- end
@@ -1,17 +0,0 @@
1
- namespace :xcode do
2
- desc "Xcode Build"
3
- task :build, [:workspace, :scheme, :configuration, :sdk, :buildDir] do |_, args|
4
- args.with_defaults(:sdk => 'iphonesimulator', :buildDir => 'ci-artifacts')
5
- XCode::build(args[:workspace],args[:scheme],args[:configuration],args[:sdk],args[:buildDir])
6
- end
7
-
8
- desc "Xcode Test"
9
- task :build_test, [:workspace, :scheme, :configuration, :destinations] do |_ , args|
10
- XCode::build_and_test(args[:workspace],args[:scheme],args[:configuration],args[:destinations])
11
- end
12
-
13
- desc "Achieve ipa"
14
- task :archive, [:workspace, :scheme, :configuration, :sdk, :provisioning_profile, :destinations] do |_ , args|
15
- XCode::archive(args[:workspace],args[:scheme],args[:configuration],args[:sdk],args[:provisioning_profile],args[:destinations])
16
- end
17
- end
data/lib/rake_ci_tools.rb DELETED
@@ -1,15 +0,0 @@
1
- base_path = File.join(File.dirname(__FILE__),'rake_ci_tools')
2
-
3
- require 'rake'
4
-
5
- require File.join(base_path, 'tasks', 'cucumber_task')
6
- require File.join(base_path, 'tasks', 'xcode_task')
7
- require File.join(base_path, 'tasks', 'vagrant_task')
8
- require File.join(base_path, 'tasks', 'calabash_task')
9
- # require File.join(base_path, 'tasks', 'deploy_tasks')
10
-
11
- require File.join(base_path, 'runners', 'sh')
12
- require File.join(base_path, 'runners', 'xcode')
13
- require File.join(base_path, 'runners', 'vagrant')
14
- require File.join(base_path, 'runners', 'calabash')
15
- # require File.join(base_path, 'runners', 'deploy')