fwtoolkit 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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