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 +9 -5
- data/lib/templates/testflight.yml.erb +1 -0
- data/lib/testflight/builder.rb +1 -1
- data/lib/testflight/cli.rb +46 -14
- data/lib/testflight/config.rb +4 -0
- data/lib/testflight/version.rb +1 -1
- metadata +3 -3
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
|
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
|
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
|
|
data/lib/testflight/builder.rb
CHANGED
@@ -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 '
|
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}' "
|
data/lib/testflight/cli.rb
CHANGED
@@ -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
|
-
|
51
|
-
|
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
|
-
|
54
|
-
|
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?("
|
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\
|
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("
|
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("
|
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("
|
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("
|
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("
|
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
|
data/lib/testflight/config.rb
CHANGED
data/lib/testflight/version.rb
CHANGED
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
|
+
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:
|
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
|
46
|
+
description: Mechanism for building, packaging, tagging and deploying Xcode projects
|
47
47
|
to testflightapp.com
|
48
48
|
email:
|
49
49
|
- theiceberk@gmail.com
|