fwtoolkit 0.0.6 → 0.1.0

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.
data/lib/fwtoolkit/cli.rb CHANGED
@@ -35,34 +35,6 @@ module FWToolkit
35
35
  @no_prefix ? entity.name : entity.name[3..-1]
36
36
  end
37
37
  end
38
-
39
- desc "setup", "setup FWToolkit testing for the current workspace"
40
- def setup
41
- Frank::CLI.start(["setup"])
42
- end
43
-
44
- desc "build", "build the frankified App for testing"
45
- method_option :workspace, :aliases => "-w", :default => "#{File.basename(Dir.getwd)}.xcworkspace"
46
- method_option :scheme, :aliases => "-s", :default => File.basename(Dir.getwd)
47
- def build
48
- workspace = options[:workspace]
49
- scheme = options[:scheme]
50
- Frank::CLI.start(["build", "--workspace", workspace, "--scheme", scheme])
51
- end
52
-
53
- desc "test [TAG]", "run cucumber tests"
54
- def test(tag = nil)
55
- Dir.chdir('Frank') do
56
- command = 'cucumber'
57
- if tag
58
- command = "cucumber --tag #{tag}"
59
- end
60
-
61
- sh command do |ok,res|
62
- exit res.exitstatus
63
- end
64
- end
65
- end
66
38
  end
67
39
 
68
40
  end
@@ -0,0 +1,88 @@
1
+ require 'rake/tasklib'
2
+ require 'rubygems'
3
+ require 'xcodebuild'
4
+ require 'cucumber/rake/task'
5
+
6
+ module FWToolkit
7
+ module Tasks
8
+ class BuildTask < ::Rake::TaskLib
9
+ include Rake::DSL if defined?(Rake::DSL)
10
+
11
+ attr_accessor :workspace
12
+ attr_accessor :scheme
13
+
14
+ def initialize(&block)
15
+ yield self if block_given?
16
+ define
17
+ end
18
+
19
+ private
20
+
21
+ def define
22
+ namespace :xcode do
23
+ XcodeBuild::Tasks::BuildTask.new :debug_simulator do |t|
24
+ t.invoke_from_within = '.'
25
+ t.configuration = "Debug"
26
+ t.sdk = "iphonesimulator"
27
+ t.workspace = @workspace
28
+ t.scheme = @scheme
29
+ t.formatter = XcodeBuild::Formatters::ProgressFormatter.new
30
+ end
31
+ end
32
+
33
+ namespace :frank do
34
+
35
+ desc 'Setup Frank'
36
+ task :setup do
37
+ sh "frank setup"
38
+ end
39
+
40
+ desc 'Build the frankified App'
41
+ task :build do
42
+ sh "frank build --workspace #{@workspace} --scheme #{@scheme}"
43
+ end
44
+
45
+ Cucumber::Rake::Task.new(:ci_test, 'Run Frank acceptance tests with CI options') do |t|
46
+ ENV['APP_BUNDLE_PATH'] = File.join( Dir.pwd, 'Frank/frankified_build/Frankified.app' )
47
+ ENV['USE_SIM_LAUNCHER_SERVER'] = 'YES'
48
+ artifacts_dir = ENV['CC_BUILD_ARTIFACTS']
49
+ t.cucumber_opts = "Frank/features --tags ~@wip --format pretty --format html --out '#{artifacts_dir}/frank_results.html' --format rerun --out '#{artifacts_dir}/frank_rerun.txt'"
50
+ end
51
+
52
+ desc 'Run Frank acceptance tests'
53
+ task :test, :target, :tag do |t, args|
54
+ args.with_defaults(:target => 'Frank/features', :tag => '~@wip')
55
+
56
+ ENV['APP_BUNDLE_PATH'] = File.join( Dir.pwd, 'Frank/frankified_build/Frankified.app' )
57
+ ENV['USE_SIM_LAUNCHER_SERVER'] = nil
58
+ sh "cucumber #{args.target} --tags #{args.tag}"
59
+ end
60
+ end
61
+
62
+ namespace :pod do
63
+ task :clean do
64
+ FileUtils.rm_rf('Pods')
65
+ end
66
+
67
+ task :install do
68
+ sh 'pod install'
69
+ end
70
+ end
71
+
72
+ namespace :ci do
73
+
74
+ task :bundle_install do
75
+ sh 'bundle'
76
+ end
77
+
78
+ desc 'Clean, build and test'
79
+ task :build => ["ci:bundle_install", "xcode:debug_simulator:cleanbuild", "frank:build", "frank:ci_test"]
80
+
81
+ desc 'Clean, build and test for Cocoapods projects'
82
+ task :pod_build => ["ci:bundle_install", "pod:clean", "pod:install", "ci:build"]
83
+ end
84
+ end
85
+
86
+ end
87
+ end
88
+ end
@@ -1,3 +1,3 @@
1
1
  module FWToolkit
2
- VERSION = "0.0.6"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/fwtoolkit.rb CHANGED
@@ -6,6 +6,8 @@ require 'core_data'
6
6
  require 'fwtoolkit/version'
7
7
  require 'fwtoolkit/test/frank_model'
8
8
 
9
+ Dir["tasks/**/*.rake"].each { |ext| load ext } if defined?(Rake)
10
+
9
11
  module FWToolkit
10
12
  def self.root
11
13
  File.expand_path '../..', __FILE__
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fwtoolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-14 00:00:00.000000000 Z
12
+ date: 2012-09-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
@@ -162,7 +162,7 @@ dependencies:
162
162
  requirements:
163
163
  - - '='
164
164
  - !ruby/object:Gem::Version
165
- version: 0.9.5.pre6
165
+ version: 0.9.5.pre8
166
166
  type: :runtime
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
@@ -170,7 +170,7 @@ dependencies:
170
170
  requirements:
171
171
  - - '='
172
172
  - !ruby/object:Gem::Version
173
- version: 0.9.5.pre6
173
+ version: 0.9.5.pre8
174
174
  - !ruby/object:Gem::Dependency
175
175
  name: CFPropertyList
176
176
  requirement: !ruby/object:Gem::Requirement
@@ -187,6 +187,22 @@ dependencies:
187
187
  - - '='
188
188
  - !ruby/object:Gem::Version
189
189
  version: 2.1.1
190
+ - !ruby/object:Gem::Dependency
191
+ name: xcodebuild-rb
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - '='
196
+ - !ruby/object:Gem::Version
197
+ version: 0.3.0
198
+ type: :runtime
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - '='
204
+ - !ruby/object:Gem::Version
205
+ version: 0.3.0
190
206
  description: ''
191
207
  email:
192
208
  - matt@futureworkshops.com
@@ -198,6 +214,7 @@ files:
198
214
  - bin/fwt
199
215
  - lib/fwtoolkit.rb
200
216
  - lib/fwtoolkit/cli.rb
217
+ - lib/fwtoolkit/tasks/build_tasks.rb
201
218
  - lib/fwtoolkit/test/frank_model.rb
202
219
  - lib/fwtoolkit/test/misc_steps.rb
203
220
  - lib/fwtoolkit/test/model_helper.rb