testflight 0.1.4 → 0.1.5

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/README.rdoc CHANGED
@@ -20,15 +20,19 @@ All that with a simple command:
20
20
  $ testflight takeoff
21
21
 
22
22
 
23
+
24
+ = Installation
25
+
26
+ gem install testflight
27
+
28
+
23
29
  = Configuration
24
30
 
25
- To setup your project with the deployment script, run the following command:
31
+ To setup your project with the deployment script, run the following command from within your Xcode project folder:
26
32
 
27
33
  $ testflight checkin
28
34
 
29
- This command will ask you a few questions that will guide you through a configuration process.
30
- If you don't like being asked questions and prefer to do it manually, just create a .tesflight file
31
- in your iOS project folder and provide the following information:
35
+ This command will ask you a few questions about your project. If you don't like being asked questions and prefer to configure your project manually, just create a .tesflight file in your Xcode project folder and provide the following information:
32
36
 
33
37
  build:
34
38
  developer_name: # This must be your company name or your name as it appears in your .cer from Apple
@@ -44,7 +48,7 @@ in your iOS project folder and provide the following information:
44
48
 
45
49
  = Execution
46
50
 
47
- Once you have checked in (you only need to do it once per project), you are ready for takeoff. Go to your project folder and simple type:
51
+ Once you have checked in (you only need to do it once per project), you are ready for takeoff. Go to your project folder and simply type:
48
52
 
49
53
  $ testflight takeoff
50
54
 
@@ -1,6 +1,7 @@
1
1
  build:
2
2
  developer_name: "<%= @company_name %>"
3
3
  increment_bundle: <%= @should_increment_bundle == true %>
4
+ sdk: <%= @sdk %>
4
5
  git:
5
6
  commit_changes: <%= @should_commit_changes == true %>
6
7
  tag_build: <%= @should_tag_build == true %>
@@ -75,7 +75,7 @@ module Testflight
75
75
  def build_workspace(opts = {})
76
76
  cmd = "#{XCODE_BUILDER} -workspace '#{Testflight::Config.workspace_name}' "
77
77
  cmd << "-scheme '#{Testflight::Config.application_name}' "
78
- cmd << "-sdk 'iphoneos6.0' "
78
+ cmd << "-sdk '#{Testflight::Config.sdk_version}' "
79
79
  cmd << "-configuration 'AdHoc' "
80
80
  cmd << "-arch 'armv6 armv7' "
81
81
  cmd << "CONFIGURATION_BUILD_DIR='#{Testflight::Config.build_dir}' "
@@ -41,26 +41,41 @@ module Testflight
41
41
  return unless is_project_folder?
42
42
 
43
43
  say("\r\nConfiguring #{Testflight::Config.application_name} #{Testflight::Config.type} for deployment to testflightapp.com...")
44
- say("Please answer the following questions to prepare you for takeoff.")
45
-
46
44
  ["Provisioning", "Distributions", "build"].each do |name|
47
45
  create_folder(name)
48
46
  end
49
47
 
50
- @company_name = ask("\r\nWhat is the name of your company, as it appears in your .cer file from Apple?")
51
- @should_increment_bundle = yes?("\r\nWould you like to automatically increment build numbers (bundle value) for every deployment? (y/n)")
48
+ say("\r\nPlease answer the following questions to prepare you for takeoff.")
49
+
50
+ @company_name = ask("What is the name of your company, as it appears in your .cer file from Apple?")
51
+ @should_increment_bundle = yes?("Would you like to automatically increment build numbers (bundle value) for every deployment? (y/n)")
52
52
 
53
- if yes?("\r\nDo you use git as your SCM? (y/n)")
54
- @should_commit_changes = yes?("\r\nWould you like to commit and push your changes to git as the first step of your deployment? (y/n)")
53
+ say("\r\nConfiguring Git commands...")
54
+ if yes?("Do you use git as your SCM? (y/n)")
55
+ @should_commit_changes = yes?("Would you like to commit and push your changes to git as the first step of your deployment? (y/n)")
55
56
  if @should_increment_bundle
56
- @should_tag_build = yes?("\r\nWould you like to tag every build in git with the version/build number? (y/n)")
57
+ @should_tag_build = yes?("Would you like to tag every build in git with the version/build number? (y/n)")
57
58
  end
58
59
  end
59
60
 
60
- say("\r\nFor the next question, please get your API TOKEN from the following URL: https://testflightapp.com/account/#api")
61
+ say("\r\nConfiguring Build commands...")
62
+ say("What iPhone SDK version are you using?")
63
+ sdks = [
64
+ ["1:", "iphoneos4.3"],
65
+ ["2:", "iphoneos5.0"],
66
+ ["3:", "iphoneos5.1"],
67
+ ["4:", "iphoneos6.0"],
68
+ ["5:", "iphoneos6.1"],
69
+ ]
70
+ print_table(sdks)
71
+ num = ask_for_number(5)
72
+ @sdk = sdks[num-1].last
73
+
74
+ say("\r\nConfiguring Testflight.com commands...")
75
+ say("For the next question, please get your API TOKEN from the following URL: https://testflightapp.com/account/#api")
61
76
  @api_token = ask("Paste your API TOKEN here:")
62
77
 
63
- say("\r\nFor the next question, please get your TEAM TOKEN from the following URL: https://testflightapp.com/dashboard/team/edit")
78
+ say("For the next question, please get your TEAM TOKEN from the following URL: https://testflightapp.com/dashboard/team/edit")
64
79
  @team_token = ask("Paste your TEAM TOKEN here:")
65
80
 
66
81
  @teams = ask("\r\nPlease enter your distribution lists as you have set them up on testflight (separate team names with a comma):")
@@ -70,9 +85,9 @@ module Testflight
70
85
 
71
86
  update_git_ignore
72
87
 
73
- say("\r\nConfiguration file '.testflight' has been created. You can edit it manually or run the init command again.")
88
+ say("Configuration file '.testflight' has been created. You can edit it manually or run the init command again.")
74
89
  say("\r\nOnly a few steps left, but make sure you do them all.")
75
- say("\r\n1). Copy your Ad Hoc Provisioning Profile (.mobileprovision) into the 'Provisioning' folder.")
90
+ say("1). Copy your Ad Hoc Provisioning Profile (.mobileprovision) into the 'Provisioning' folder.")
76
91
  say("2). Create a new build profile called AdHoc and make sure you set it as the default profile for command line builds.")
77
92
  say("\r\nOnce you are done, you can run: testflight takeoff")
78
93
  end
@@ -85,15 +100,15 @@ module Testflight
85
100
  say("Preparing #{Testflight::Config.application_name} #{Testflight::Config.type} #{Testflight::Config.project_version} for deployment to testflightapp.com...")
86
101
 
87
102
  @message = ask("\r\nWhat changes did you make in this build?")
88
- @teams = ask_with_multiple_options("\r\nWhich team(s) would you like to distirbute the build to? Provide team number(s, separated by a comma)",
103
+ @teams = ask_with_multiple_options("Which team(s) would you like to distirbute the build to? Provide team number(s, separated by a comma)",
89
104
  Testflight::Config.distribution_lists)
90
105
 
91
106
  @notify = yes?("\r\nWould you like to notify the team members by email about this build? (y/n)")
92
107
 
93
108
  Testflight::Builder.new(:message => @message, :teams => @teams, :notify => @notify, :cold => options['cold'])
94
109
 
95
- say("\r\nCongratulations, the build has been deployed! Have a safe flight!")
96
- say("")
110
+ say("Congratulations, the build has been deployed! Have a safe flight!")
111
+ say
97
112
  end
98
113
 
99
114
  protected
@@ -191,5 +206,22 @@ module Testflight
191
206
  vals
192
207
  end
193
208
 
209
+ def ask_for_number(max, opts = {})
210
+ opts[:message] ||= "Choose: "
211
+ while true
212
+ value = ask(opts[:message])
213
+ if /^[\d]+$/ === value
214
+ num = value.to_i
215
+ if num < 1 or num > max
216
+ say("Hah?")
217
+ else
218
+ return num
219
+ end
220
+ else
221
+ say("Hah?")
222
+ end
223
+ end
224
+ end
225
+
194
226
  end
195
227
  end
@@ -52,6 +52,10 @@ module Testflight
52
52
  build["increment_bundle"]
53
53
  end
54
54
 
55
+ def self.sdk_version
56
+ build["sdk"]
57
+ end
58
+
55
59
  def self.git
56
60
  config["git"]
57
61
  end
@@ -22,7 +22,7 @@
22
22
  #++
23
23
 
24
24
  module Testflight
25
- VERSION = "0.1.4"
25
+ VERSION = "0.1.5"
26
26
  end
27
27
 
28
28
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testflight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
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-12-15 00:00:00.000000000 Z
12
+ date: 2013-05-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -43,7 +43,7 @@ dependencies:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 3.1.0
46
- description: Mechanism for building, packaging, tagging and deploying xCode projects
46
+ description: Mechanism for building, packaging, tagging and deploying Xcode projects
47
47
  to testflightapp.com
48
48
  email:
49
49
  - theiceberk@gmail.com