fwtoolkit 0.7.3 → 0.8.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.rb CHANGED
@@ -5,4 +5,4 @@ require 'core_data'
5
5
  require 'fwtoolkit/version'
6
6
  require 'fwtoolkit/test/frank_model'
7
7
 
8
- Dir["tasks/**/*.rake"].each { |ext| load ext } if defined?(Rake)
8
+ Dir["tasks/**/*.rake"].each { |ext| load ext } if defined?(Rake)
@@ -5,6 +5,7 @@ require 'cucumber/rake/task'
5
5
  require 'core_data'
6
6
  require 'erb'
7
7
  require 'xcodeproj'
8
+ require 'fwtoolkit/tasks/helper'
8
9
 
9
10
  module XcodeBuild
10
11
  def self.run(args = "", output_buffer = STDOUT)
@@ -38,7 +39,7 @@ module FWToolkit
38
39
 
39
40
  attr_accessor :workspace
40
41
  attr_accessor :scheme
41
- attr_accessor :bundle_identifier
42
+ attr_accessor :project
42
43
  attr_accessor :certificate
43
44
  attr_accessor :provisioning_profile
44
45
 
@@ -66,31 +67,41 @@ module FWToolkit
66
67
  t.sdk = "iphoneos"
67
68
  t.workspace = @workspace
68
69
  t.scheme = @scheme
69
- t.formatter = XcodeBuild::Formatters::ProgressFormatter.new
70
+ #t.formatter = XcodeBuild::Formatters::ProgressFormatter.new
71
+ t.output_to = FWToolkit::Tasks.cc_artifacts_dir
70
72
  end
71
73
 
72
- desc 'Build IPA file'
73
74
  task :ipa do
74
- command = "xcrun -sdk 'iphoneos' PackageApplication -v '/tmp/artifacts/Applications/#{scheme}.app' -o '/tmp/artifacts/Applications/#{scheme}.ipa' --sign '#{certificate}' --embed '#{provisioning_profile}'"
75
- sh command
75
+ configuration = 'Release'
76
+
77
+ # update the project file to use the correct cert/provisioning
78
+ signature_settings = {
79
+ "CODE_SIGN_IDENTITY"=> self.certificate,
80
+ "PROVISIONING_PROFILE"=> self.provisioning_profile
81
+ }
82
+ p = Xcodeproj::Project.new self.project
83
+ p.targets[0].build_settings(configuration).merge!(signature_settings)
84
+ p.save_as self.project
85
+
86
+ artifacts_dir = FWToolkit::Tasks.cc_artifacts_dir
87
+
88
+ sh %{bundle exec ipa build -s #{self.scheme} -c #{configuration} --clean}
76
89
  end
77
90
 
78
91
  task :validate_auth_token do
79
- unless ENV['FWBUILD_AUTH_TOKEN']
80
- abort 'Please set FWBUILD_AUTH_TOKEN environment variable'
92
+ unless ENV['HOCKEY_APP_TOKEN']
93
+ abort 'Please set HOCKEY_APP_TOKEN environment variable in ~/.bashrc (HOCKEY_APP_TOKEN=<your token>; export HOCKEY_APP_TOKEN)'
81
94
  end
82
95
  end
83
96
 
84
97
  task :upload do
85
- auth_token = ENV['FWBUILD_AUTH_TOKEN']
86
- file_name = "#{scheme}.ipa"
87
- key = File.join('uploads', file_name)
88
- sh("curl -X POST -F 'key=#{key}' -F 'acl=bucket-owner-full-control' -F 'file=@/tmp/artifacts/Applications/#{scheme}.ipa' https://fw.fwbuild.production.s3.amazonaws.com/ --progress-bar")
89
- sh("curl -X POST -d 'bundle_identifier=#{@bundle_identifier}&s3_upload_name=#{file_name}&auth_token=#{auth_token}&build[version]=#{DateTime.now.to_s}' http://fwbuild.futureworkshops.com/apps/builds.json")
98
+ token = ENV['HOCKEY_APP_TOKEN']
99
+ artifacts_dir = FWToolkit::Tasks.cc_artifacts_dir
100
+ sh %{bundle exec ipa distribute:hockeyapp --token #{token} -m ""}
90
101
  end
91
102
 
92
103
  desc 'Build and Upload IPA'
93
- task :build_upload => [:validate_auth_token, 'release_iphoneos:archive', :ipa, :upload]
104
+ task :build_upload => [:validate_auth_token, :ipa, :upload]
94
105
  end
95
106
 
96
107
  namespace :frank do
@@ -99,18 +110,6 @@ module FWToolkit
99
110
  sh "frank build --workspace #{@workspace} --scheme #{@scheme}"
100
111
  end
101
112
  end
102
-
103
- namespace :fwbuild do
104
- task :upload do
105
- S3Cmd.put("path/to/a/file.ext", "s3://fw.fwbuild.production/uploads/") do |progress|
106
- puts progress
107
- end
108
- end
109
-
110
- task :build_upload => ["xcode:release_device:clean", "xcode:release_device:archive", "upload"]
111
- end
112
-
113
-
114
113
  end
115
114
 
116
115
  end
@@ -1,3 +1,5 @@
1
+ require 'fwtoolkit/tasks/helper'
2
+
1
3
  module FWToolkit
2
4
  module Tasks
3
5
  class Frank < Thor
@@ -46,7 +48,7 @@ module FWToolkit
46
48
  Cucumber::Rake::Task.new(:ci_test, 'Run Frank acceptance tests with CI options') do |t|
47
49
  ENV['APP_BUNDLE_PATH'] = File.join( Dir.pwd, 'Frank/frankified_build/Frankified.app' )
48
50
  ENV['USE_SIM_LAUNCHER_SERVER'] = 'YES'
49
- artifacts_dir = ENV['CC_BUILD_ARTIFACTS'] ? ENV['CC_BUILD_ARTIFACTS'] : '/tmp'
51
+ artifacts_dir = FWToolkit::Tasks.cc_artifacts_dir
50
52
  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'"
51
53
  end
52
54
 
@@ -0,0 +1,7 @@
1
+ module FWToolkit
2
+ module Tasks
3
+ def self.cc_artifacts_dir
4
+ ENV['CC_BUILD_ARTIFACTS'] ? ENV['CC_BUILD_ARTIFACTS'] : File.join(Dir.pwd, 'artifacts')
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module FWToolkit
2
- VERSION = "0.7.3"
2
+ VERSION = "0.8.0"
3
3
  end
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.7.3
4
+ version: 0.8.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: 2013-05-12 00:00:00.000000000 Z
12
+ date: 2013-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
@@ -251,6 +251,22 @@ dependencies:
251
251
  - - '='
252
252
  - !ruby/object:Gem::Version
253
253
  version: 0.9.10
254
+ - !ruby/object:Gem::Dependency
255
+ name: shenzhen
256
+ requirement: !ruby/object:Gem::Requirement
257
+ none: false
258
+ requirements:
259
+ - - '='
260
+ - !ruby/object:Gem::Version
261
+ version: 0.3.0
262
+ type: :runtime
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - '='
268
+ - !ruby/object:Gem::Version
269
+ version: 0.3.0
254
270
  description: A collection of iOS development tools used by Future Workshops
255
271
  email:
256
272
  - matt@futureworkshops.com
@@ -267,6 +283,7 @@ files:
267
283
  - lib/fwtoolkit/tasks/ci.rb
268
284
  - lib/fwtoolkit/tasks/cocoapods.rb
269
285
  - lib/fwtoolkit/tasks/frank.rb
286
+ - lib/fwtoolkit/tasks/helper.rb
270
287
  - lib/fwtoolkit/tasks/services.rb
271
288
  - lib/fwtoolkit/test/frank_model.rb
272
289
  - lib/fwtoolkit/test/misc_steps.rb
@@ -309,12 +326,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
309
326
  - - ! '>='
310
327
  - !ruby/object:Gem::Version
311
328
  version: '0'
329
+ segments:
330
+ - 0
331
+ hash: 1249502825317644920
312
332
  required_rubygems_version: !ruby/object:Gem::Requirement
313
333
  none: false
314
334
  requirements:
315
335
  - - ! '>='
316
336
  - !ruby/object:Gem::Version
317
337
  version: '0'
338
+ segments:
339
+ - 0
340
+ hash: 1249502825317644920
318
341
  requirements: []
319
342
  rubyforge_project:
320
343
  rubygems_version: 1.8.25