testflight 0.1.4 → 0.1.5

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