xcodebuilder 0.0.7 → 0.0.8

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/xcode_builder.rb CHANGED
@@ -53,7 +53,7 @@ module XcodeBuilder
53
53
  system(cmd)
54
54
  end
55
55
 
56
- # # desc "Clean the Build"
56
+ # desc "Clean the Build"
57
57
  def clean
58
58
  unless @configuration.skip_clean
59
59
  print "Cleaning Project..."
@@ -62,7 +62,7 @@ module XcodeBuilder
62
62
  end
63
63
  end
64
64
 
65
- # # desc "Build the beta release of the app"
65
+ # desc "Build the beta release of the app"
66
66
  def build
67
67
  clean unless @configuration.skip_clean
68
68
 
@@ -72,7 +72,7 @@ module XcodeBuilder
72
72
  puts "Done"
73
73
  end
74
74
 
75
- # # desc "Package the release as a distributable archive"
75
+ # desc "Package the release as a distributable archive"
76
76
  def package
77
77
  build
78
78
  # there is no need for IPA or dSYM unless we have a device/macosx build,
@@ -91,7 +91,7 @@ module XcodeBuilder
91
91
  end
92
92
  end
93
93
 
94
- # # desc "Builds an IPA from the built .app"
94
+ # desc "Builds an IPA from the built .app"
95
95
  def package_ios_app
96
96
  print "Packaging and Signing..."
97
97
  raise "** PACKAGE FAILED ** No Signing Identity Found" unless @configuration.signing_identity
@@ -106,8 +106,8 @@ module XcodeBuilder
106
106
  cmd << "PackageApplication"
107
107
  cmd << "-v '#{@configuration.built_app_path}'"
108
108
  cmd << "-o '#{@configuration.ipa_path}'"
109
- cmd << "--sign '#{@configuration.signing_identity}'"
110
- cmd << "--embed '#{@configuration.provisioning_profile}'" unless @configuration.signing_identity == nil
109
+ cmd << "--sign '#{@configuration.signing_identity}'" unless @configuration.signing_identity == nil
110
+ cmd << "--embed '#{@configuration.provisioning_profile}'"
111
111
  if @configuration.xcrun_extra_args then
112
112
  cmd.concat @configuration.xcrun_extra_args if @configuration.xcrun_extra_args.is_a? Array
113
113
  cmd << @configuration.xcrun_extra_args if @configuration.xcrun_extra_args.is_a? String
@@ -143,9 +143,7 @@ module XcodeBuilder
143
143
 
144
144
  # desc "Zips the dSYM to the package folder"
145
145
  def package_dsym
146
- if @configuration.skip_dsym then
147
- return
148
- end
146
+ return if @configuration.skip_dsym
149
147
  print "Packaging dSYM..."
150
148
 
151
149
  # copy the dSYM to the pkg destination
@@ -203,14 +201,18 @@ module XcodeBuilder
203
201
  puts "ZIP package: #{@configuration.zipped_package_name}"
204
202
  end
205
203
 
206
- # desc "For CocoaPod libraries: Tags SCM, pushes to cocoapod and increments build number"
204
+ # desc "For CocoaPod libraries: dry run, tags SCM, pushes to cocoapod and increments build number"
207
205
  def pod_release
208
- build
209
206
  raise "CocoaPod repo is not set, aborting cocoapod_release task." unless @configuration.pod_repo != nil
210
207
  raise "Spec file is not set, aborting cocoapod_release task." unless @configuration.podspec_file != nil
211
208
 
212
- # tag and push current pod
209
+ # make a dry run first
210
+ pod_dry_run
211
+
212
+ # tag source as needed
213
213
  @configuration.release_strategy.tag_current_version
214
+
215
+ # and push pod pod
214
216
  push_pod
215
217
 
216
218
  # increment version numbers
@@ -220,16 +222,27 @@ module XcodeBuilder
220
222
  end
221
223
  end
222
224
 
225
+ # runs a pod dry run before tagging
226
+ def pod_dry_run
227
+ clean unless @configuration.skip_clean
228
+
229
+ print "Pod dry run..."
230
+ podfile = if @configuration.podspec_file == nil then "" else @configuration.podspec_file end
231
+ result = system "pod spec lint #{podfile} --error-only"
232
+ raise "** Pod dry run failed **" if !result
233
+ puts "Done"
234
+ end
235
+
223
236
  def push_pod
224
237
  cmd = []
225
238
  cmd << "pod"
226
239
  cmd << "push"
227
240
  cmd << @configuration.pod_repo
228
- # cmd << "--local-only"
229
241
  cmd << "--allow-warnings"
230
242
 
231
243
  print "Pushing to CocoaPod..."
232
- system (cmd.join " ")
244
+ result = system (cmd.join " ")
245
+ raise "** Pod push failed **" if !result
233
246
  puts "Done."
234
247
  end
235
248
 
@@ -255,7 +268,6 @@ module XcodeBuilder
255
268
 
256
269
  def deploy
257
270
  package
258
- # deploy first
259
271
  @configuration.deployment_strategy.deploy
260
272
  end
261
273
 
@@ -26,12 +26,11 @@ module XcodeBuilder
26
26
  #first, tag
27
27
  cmd << "git"
28
28
  cmd << "tag"
29
- # -f sounds brutal to start with, so let's give it a try without
30
- # cmd << "-f"
31
29
  cmd << @tag_name
32
30
 
33
31
  cmd << "2>&1 %s git.output" % (@configuration.verbose ? '| tee' : '>')
34
- system(cmd.join " ")
32
+ result = system(cmd.join " ")
33
+ raise "Could not tag repository" unless result
35
34
  puts
36
35
  puts "Done"
37
36
 
@@ -46,6 +45,7 @@ module XcodeBuilder
46
45
  cmd << @branch
47
46
  cmd << "2>&1 %s git.output" % (@configuration.verbose ? '| tee' : '>')
48
47
  system(cmd.join " ")
48
+ raise "Could not push to #{@origin}" unless result
49
49
 
50
50
  puts
51
51
  puts "Done"
@@ -108,7 +108,8 @@ module XcodeBuilder
108
108
  cmd << @branch
109
109
  cmd << "2>&1 %s git.output" % (@configuration.verbose ? '| tee' : '>')
110
110
 
111
- system(cmd.join " ")
111
+ result = system(cmd.join " ")
112
+ raise "Could not push #{@branch} to #{@origin}" unless result
112
113
  puts
113
114
  end
114
115
  end
metadata CHANGED
@@ -1,96 +1,90 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: xcodebuilder
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.8
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 7
10
- version: 0.0.7
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Olivier Larivain
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-02-13 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-07-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: CFPropertyList
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 15
29
- segments:
30
- - 2
31
- - 0
32
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
33
21
  version: 2.0.0
34
22
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: uuid
38
23
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
40
25
  none: false
41
- requirements:
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: uuid
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
42
35
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 1
45
- segments:
46
- - 2
47
- - 3
48
- - 1
36
+ - !ruby/object:Gem::Version
49
37
  version: 2.3.1
50
38
  type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: rest-client
54
39
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 2.3.1
46
+ - !ruby/object:Gem::Dependency
47
+ name: rest-client
48
+ requirement: !ruby/object:Gem::Requirement
56
49
  none: false
57
- requirements:
50
+ requirements:
58
51
  - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 13
61
- segments:
62
- - 1
63
- - 6
64
- - 1
52
+ - !ruby/object:Gem::Version
65
53
  version: 1.6.1
66
54
  type: :runtime
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- name: json
70
55
  prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
72
57
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 3
77
- segments:
78
- - 0
79
- version: "0"
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.6.1
62
+ - !ruby/object:Gem::Dependency
63
+ name: json
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
80
70
  type: :runtime
81
- version_requirements: *id004
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
82
78
  description:
83
- email:
79
+ email:
84
80
  - olarivain@gmail.com
85
81
  executables: []
86
-
87
82
  extensions: []
88
-
89
- extra_rdoc_files:
83
+ extra_rdoc_files:
90
84
  - README.md
91
85
  - LICENSE
92
86
  - CHANGES.md
93
- files:
87
+ files:
94
88
  - CHANGES.md
95
89
  - LICENSE
96
90
  - README.md
@@ -105,37 +99,28 @@ files:
105
99
  - lib/xcodebuilder.rb
106
100
  homepage: http://github.com/olarivain/xcodebuilder
107
101
  licenses: []
108
-
109
102
  post_install_message:
110
- rdoc_options:
103
+ rdoc_options:
111
104
  - --main
112
105
  - README.md
113
- require_paths:
106
+ require_paths:
114
107
  - lib
115
- required_ruby_version: !ruby/object:Gem::Requirement
108
+ required_ruby_version: !ruby/object:Gem::Requirement
116
109
  none: false
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- hash: 3
121
- segments:
122
- - 0
123
- version: "0"
124
- required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
125
115
  none: false
126
- requirements:
127
- - - ">="
128
- - !ruby/object:Gem::Version
129
- hash: 3
130
- segments:
131
- - 0
132
- version: "0"
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
133
120
  requirements: []
134
-
135
121
  rubyforge_project:
136
- rubygems_version: 1.8.24
122
+ rubygems_version: 1.8.25
137
123
  signing_key:
138
124
  specification_version: 3
139
125
  summary: A set of Rake tasks and utilities for building and releasing xcode projects
140
126
  test_files: []
141
-