fastlane 2.92.0.beta.20180416050023 → 2.92.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01a575b654bcfa7328de27d69a3941133621b1f3
4
- data.tar.gz: '09083b4983d11dcd011e85be8cc6f96723e38096'
3
+ metadata.gz: 8fb1fac3759423b406fef8fef0f01e59be44c032
4
+ data.tar.gz: 7791e429cf0e31af91a117c5b743aa191aa991b1
5
5
  SHA512:
6
- metadata.gz: f332525a98d254f828e5981be30bb2a00775c387e74ff9a472813516ae7fe3b3b1a216a79cd1645f3cd8096577d38e3e600c3189c6e0d4554bbea5cde70ef301
7
- data.tar.gz: f1dda56e512fa3918763121f35354a13253c9eda8249ad245ac061ee7989ab2f849d9bd8b86f3ecf1a37dc69e92ce06f69018644344a0816905606578af4c09a
6
+ metadata.gz: f4ded653fad28d547ede7b387fef7686f3c81f90e1dd4a662f1e4ee14c83e6c42f2bccfba16a3d6d1e09b3bbf6c06c587ceb4b0298a06ffbd640d38fcbabe17c
7
+ data.tar.gz: de1c45dc3ce10a272dda06d34123dd060840b3b9a1622498156e0bc8d4ca03effbf544c61f3bc190e543d1af29b314f7f3b9527482075167c57ed0337d6b0f72
data/README.md CHANGED
@@ -32,87 +32,49 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
32
32
 
33
33
  <table id='team'>
34
34
  <tr>
35
- <td id='maksym-grebenets'>
36
- <a href='https://github.com/mgrebenets'>
37
- <img src='https://github.com/mgrebenets.png?size=140'>
38
- </a>
39
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
40
- </td>
41
- <td id='kohki-miki'>
42
- <a href='https://github.com/giginet'>
43
- <img src='https://github.com/giginet.png?size=140'>
44
- </a>
45
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
46
- </td>
47
- <td id='andrew-mcburney'>
48
- <a href='https://github.com/AndrewMcBurney'>
49
- <img src='https://github.com/AndrewMcBurney.png?size=140'>
50
- </a>
51
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
52
- </td>
53
- <td id='felix-krause'>
54
- <a href='https://github.com/KrauseFx'>
55
- <img src='https://github.com/KrauseFx.png?size=140'>
56
- </a>
57
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
58
- </td>
59
- <td id='aaron-brager'>
60
- <a href='https://github.com/getaaron'>
61
- <img src='https://github.com/getaaron.png?size=140'>
35
+ <td id='matthew-ellis'>
36
+ <a href='https://github.com/matthewellis'>
37
+ <img src='https://github.com/matthewellis.png?size=140'>
62
38
  </a>
63
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
39
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
64
40
  </td>
65
- </tr>
66
- <tr>
67
41
  <td id='olivier-halligon'>
68
42
  <a href='https://github.com/AliSoftware'>
69
43
  <img src='https://github.com/AliSoftware.png?size=140'>
70
44
  </a>
71
45
  <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
72
46
  </td>
73
- <td id='manu-wallner'>
74
- <a href='https://github.com/milch'>
75
- <img src='https://github.com/milch.png?size=140'>
76
- </a>
77
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
78
- </td>
79
- <td id='luka-mirosevic'>
80
- <a href='https://github.com/lmirosevic'>
81
- <img src='https://github.com/lmirosevic.png?size=140'>
82
- </a>
83
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
84
- </td>
85
- <td id='jorge-revuelta-h'>
86
- <a href='https://github.com/minuscorp'>
87
- <img src='https://github.com/minuscorp.png?size=140'>
47
+ <td id='fumiya-nakamura'>
48
+ <a href='https://github.com/nafu'>
49
+ <img src='https://github.com/nafu.png?size=140'>
88
50
  </a>
89
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
51
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
90
52
  </td>
91
- <td id='jimmy-dee'>
92
- <a href='https://github.com/jdee'>
93
- <img src='https://github.com/jdee.png?size=140'>
53
+ <td id='iulian-onofrei'>
54
+ <a href='https://github.com/revolter'>
55
+ <img src='https://github.com/revolter.png?size=140'>
94
56
  </a>
95
- <h4 align='center'>Jimmy Dee</h4>
57
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
96
58
  </td>
97
- </tr>
98
- <tr>
99
59
  <td id='danielle-tomlinson'>
100
60
  <a href='https://github.com/DanToml'>
101
61
  <img src='https://github.com/DanToml.png?size=140'>
102
62
  </a>
103
63
  <h4 align='center'><a href='https://twitter.com/DanToml'>Danielle Tomlinson</a></h4>
104
64
  </td>
105
- <td id='jan-piotrowski'>
106
- <a href='https://github.com/janpio'>
107
- <img src='https://github.com/janpio.png?size=140'>
65
+ </tr>
66
+ <tr>
67
+ <td id='josh-holtz'>
68
+ <a href='https://github.com/joshdholtz'>
69
+ <img src='https://github.com/joshdholtz.png?size=140'>
108
70
  </a>
109
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
71
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
110
72
  </td>
111
- <td id='fumiya-nakamura'>
112
- <a href='https://github.com/nafu'>
113
- <img src='https://github.com/nafu.png?size=140'>
73
+ <td id='andrew-mcburney'>
74
+ <a href='https://github.com/AndrewMcBurney'>
75
+ <img src='https://github.com/AndrewMcBurney.png?size=140'>
114
76
  </a>
115
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
77
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
116
78
  </td>
117
79
  <td id='joshua-liebowitz'>
118
80
  <a href='https://github.com/taquitos'>
@@ -120,31 +82,75 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
120
82
  </a>
121
83
  <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
122
84
  </td>
85
+ <td id='luka-mirosevic'>
86
+ <a href='https://github.com/lmirosevic'>
87
+ <img src='https://github.com/lmirosevic.png?size=140'>
88
+ </a>
89
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
90
+ </td>
91
+ <td id='felix-krause'>
92
+ <a href='https://github.com/KrauseFx'>
93
+ <img src='https://github.com/KrauseFx.png?size=140'>
94
+ </a>
95
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
96
+ </td>
97
+ </tr>
98
+ <tr>
123
99
  <td id='helmut-januschka'>
124
100
  <a href='https://github.com/hjanuschka'>
125
101
  <img src='https://github.com/hjanuschka.png?size=140'>
126
102
  </a>
127
103
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
128
104
  </td>
129
- </tr>
130
- <tr>
105
+ <td id='jorge-revuelta-h'>
106
+ <a href='https://github.com/minuscorp'>
107
+ <img src='https://github.com/minuscorp.png?size=140'>
108
+ </a>
109
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
110
+ </td>
131
111
  <td id='stefan-natchev'>
132
112
  <a href='https://github.com/snatchev'>
133
113
  <img src='https://github.com/snatchev.png?size=140'>
134
114
  </a>
135
115
  <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
136
116
  </td>
137
- <td id='matthew-ellis'>
138
- <a href='https://github.com/matthewellis'>
139
- <img src='https://github.com/matthewellis.png?size=140'>
117
+ <td id='maksym-grebenets'>
118
+ <a href='https://github.com/mgrebenets'>
119
+ <img src='https://github.com/mgrebenets.png?size=140'>
140
120
  </a>
141
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
121
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
142
122
  </td>
143
- <td id='iulian-onofrei'>
144
- <a href='https://github.com/revolter'>
145
- <img src='https://github.com/revolter.png?size=140'>
123
+ <td id='manu-wallner'>
124
+ <a href='https://github.com/milch'>
125
+ <img src='https://github.com/milch.png?size=140'>
146
126
  </a>
147
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
127
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
128
+ </td>
129
+ </tr>
130
+ <tr>
131
+ <td id='kohki-miki'>
132
+ <a href='https://github.com/giginet'>
133
+ <img src='https://github.com/giginet.png?size=140'>
134
+ </a>
135
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
136
+ </td>
137
+ <td id='jimmy-dee'>
138
+ <a href='https://github.com/jdee'>
139
+ <img src='https://github.com/jdee.png?size=140'>
140
+ </a>
141
+ <h4 align='center'>Jimmy Dee</h4>
142
+ </td>
143
+ <td id='jan-piotrowski'>
144
+ <a href='https://github.com/janpio'>
145
+ <img src='https://github.com/janpio.png?size=140'>
146
+ </a>
147
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
148
+ </td>
149
+ <td id='aaron-brager'>
150
+ <a href='https://github.com/getaaron'>
151
+ <img src='https://github.com/getaaron.png?size=140'>
152
+ </a>
153
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
148
154
  </td>
149
155
  <td id='jérôme-lacoste'>
150
156
  <a href='https://github.com/lacostej'>
@@ -152,12 +158,6 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
152
158
  </a>
153
159
  <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
154
160
  </td>
155
- <td id='josh-holtz'>
156
- <a href='https://github.com/joshdholtz'>
157
- <img src='https://github.com/joshdholtz.png?size=140'>
158
- </a>
159
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
160
- </td>
161
161
  </tr>
162
162
  </table>
163
163
 
@@ -48,6 +48,12 @@ module Cert
48
48
  verify_block: proc do |value|
49
49
  ENV["FASTLANE_TEAM_NAME"] = value.to_s
50
50
  end),
51
+ FastlaneCore::ConfigItem.new(key: :filename,
52
+ short_option: "-q",
53
+ env_name: "CERT_FILE_NAME",
54
+ optional: true,
55
+ description: "The filename of certificate to store",
56
+ is_string: true),
51
57
  FastlaneCore::ConfigItem.new(key: :output_path,
52
58
  short_option: "-o",
53
59
  env_name: "CERT_OUTPUT_PATH",
@@ -89,7 +89,7 @@ module Cert
89
89
  next
90
90
  end
91
91
 
92
- path = store_certificate(certificate)
92
+ path = store_certificate(certificate, Cert.config[:filename])
93
93
  private_key_path = File.expand_path(File.join(Cert.config[:output_path], "#{certificate.id}.p12"))
94
94
 
95
95
  if FastlaneCore::CertChecker.installed?(path)
@@ -170,7 +170,7 @@ module Cert
170
170
  private_key_path = File.expand_path(File.join(Cert.config[:output_path], "#{certificate.id}.p12"))
171
171
  File.write(private_key_path, pkey)
172
172
 
173
- cert_path = store_certificate(certificate)
173
+ cert_path = store_certificate(certificate, Cert.config[:filename])
174
174
 
175
175
  # Import all the things into the Keychain
176
176
  keychain = File.expand_path(Cert.config[:keychain_path])
@@ -187,8 +187,10 @@ module Cert
187
187
  return cert_path
188
188
  end
189
189
 
190
- def store_certificate(certificate)
191
- path = File.expand_path(File.join(Cert.config[:output_path], "#{certificate.id}.cer"))
190
+ def store_certificate(certificate, filename = nil)
191
+ cert_name = filename ? filename : certificate.id
192
+ cert_name = "#{cert_name}.cer" unless File.extname(cert_name) == ".cer"
193
+ path = File.expand_path(File.join(Cert.config[:output_path], cert_name))
192
194
  raw_data = certificate.download_raw
193
195
  File.write(path, raw_data)
194
196
  return path
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.92.0.beta.20180416050023'.freeze
2
+ VERSION = '2.92.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -18,4 +18,4 @@ class Deliverfile: DeliverfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.91.0
21
+ // Generated with fastlane 2.92.0
@@ -868,6 +868,7 @@ func cert(development: Bool = false,
868
868
  username: String,
869
869
  teamId: String? = nil,
870
870
  teamName: String? = nil,
871
+ filename: String? = nil,
871
872
  outputPath: String = ".",
872
873
  keychainPath: String,
873
874
  keychainPassword: String? = nil,
@@ -877,6 +878,7 @@ func cert(development: Bool = false,
877
878
  RubyCommand.Argument(name: "username", value: username),
878
879
  RubyCommand.Argument(name: "team_id", value: teamId),
879
880
  RubyCommand.Argument(name: "team_name", value: teamName),
881
+ RubyCommand.Argument(name: "filename", value: filename),
880
882
  RubyCommand.Argument(name: "output_path", value: outputPath),
881
883
  RubyCommand.Argument(name: "keychain_path", value: keychainPath),
882
884
  RubyCommand.Argument(name: "keychain_password", value: keychainPassword),
@@ -1460,6 +1462,7 @@ func getCertificates(development: Bool = false,
1460
1462
  username: String,
1461
1463
  teamId: String? = nil,
1462
1464
  teamName: String? = nil,
1465
+ filename: String? = nil,
1463
1466
  outputPath: String = ".",
1464
1467
  keychainPath: String,
1465
1468
  keychainPassword: String? = nil,
@@ -1469,6 +1472,7 @@ func getCertificates(development: Bool = false,
1469
1472
  RubyCommand.Argument(name: "username", value: username),
1470
1473
  RubyCommand.Argument(name: "team_id", value: teamId),
1471
1474
  RubyCommand.Argument(name: "team_name", value: teamName),
1475
+ RubyCommand.Argument(name: "filename", value: filename),
1472
1476
  RubyCommand.Argument(name: "output_path", value: outputPath),
1473
1477
  RubyCommand.Argument(name: "keychain_path", value: keychainPath),
1474
1478
  RubyCommand.Argument(name: "keychain_password", value: keychainPassword),
@@ -1971,9 +1975,9 @@ func jira(url: String,
1971
1975
  RubyCommand.Argument(name: "comment_text", value: commentText)])
1972
1976
  _ = runner.executeCommand(command)
1973
1977
  }
1974
- func laneContext() {
1978
+ @discardableResult func laneContext() -> [String : String] {
1975
1979
  let command = RubyCommand(commandID: "", methodName: "lane_context", className: nil, args: [])
1976
- _ = runner.executeCommand(command)
1980
+ return parseDictionary(fromString: runner.executeCommand(command))
1977
1981
  }
1978
1982
  @discardableResult func lastGitCommit() -> [String : String] {
1979
1983
  let command = RubyCommand(commandID: "", methodName: "last_git_commit", className: nil, args: [])
@@ -3929,4 +3933,4 @@ let screengrabfile: Screengrabfile = Screengrabfile()
3929
3933
  let snapshotfile: Snapshotfile = Snapshotfile()
3930
3934
  // Please don't remove the lines below
3931
3935
  // They are used to detect outdated files
3932
- // FastlaneRunnerAPIVersion [0.9.13]
3936
+ // FastlaneRunnerAPIVersion [0.9.14]
@@ -18,4 +18,4 @@ class Gymfile: GymfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.91.0
21
+ // Generated with fastlane 2.92.0
@@ -18,4 +18,4 @@ class Matchfile: MatchfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.91.0
21
+ // Generated with fastlane 2.92.0
@@ -18,4 +18,4 @@ class Precheckfile: PrecheckfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.91.0
21
+ // Generated with fastlane 2.92.0
@@ -18,4 +18,4 @@ class Scanfile: ScanfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.91.0
21
+ // Generated with fastlane 2.92.0
@@ -18,4 +18,4 @@ class Screengrabfile: ScreengrabfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.91.0
21
+ // Generated with fastlane 2.92.0
@@ -18,4 +18,4 @@ class Snapshotfile: SnapshotfileProtocol {
18
18
 
19
19
 
20
20
 
21
- // Generated with fastlane 2.91.0
21
+ // Generated with fastlane 2.92.0
@@ -36,7 +36,8 @@ module FastlaneCore
36
36
  end
37
37
 
38
38
  def unique_ipa_path(ipa_path)
39
- "#{File.basename(ipa_path, '.ipa')}_#{Digest::SHA256.file(ipa_path).hexdigest}.ipa"
39
+ basename = File.basename(ipa_path, '.ipa').gsub(' ', '_')
40
+ "#{basename}_#{Digest::SHA256.file(ipa_path).hexdigest}.ipa"
40
41
  end
41
42
 
42
43
  private
@@ -1,3 +1,4 @@
1
+ require 'spaceship'
1
2
  require 'fastlane_core/helper'
2
3
 
3
4
  module Match
@@ -15,7 +16,7 @@ module Match
15
16
  end
16
17
 
17
18
  def self.cert_type_sym(type)
18
- return :enterprise if type == "enterprise"
19
+ return :enterprise if type == "enterprise" || (type == "adhoc" && Spaceship.client.in_house?)
19
20
  return :development if type == "development"
20
21
  return :distribution if ["adhoc", "appstore", "distribution"].include?(type)
21
22
  raise "Unknown cert type: '#{type}'"
@@ -176,6 +176,8 @@ module Sigh
176
176
  certificates = Spaceship.certificate.development.all
177
177
  elsif profile_type == Spaceship.provisioning_profile.InHouse
178
178
  certificates = Spaceship.certificate.in_house.all
179
+ elsif profile_type == Spaceship.provisioning_profile.AdHoc && Spaceship.client.in_house?
180
+ certificates = Spaceship.certificate.in_house.all
179
181
  else
180
182
  certificates = Spaceship.certificate.production.all # Ad hoc or App Store
181
183
  end
metadata CHANGED
@@ -1,33 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.92.0.beta.20180416050023
4
+ version: 2.92.0
5
5
  platform: ruby
6
6
  authors:
7
- - Felix Krause
8
- - Luka Mirosevic
7
+ - Iulian Onofrei
9
8
  - Olivier Halligon
10
- - Danielle Tomlinson
11
- - Jérôme Lacoste
12
- - Stefan Natchev
9
+ - Jimmy Dee
10
+ - Fumiya Nakamura
13
11
  - Helmut Januschka
12
+ - Aaron Brager
14
13
  - Jorge Revuelta H
14
+ - Luka Mirosevic
15
+ - Matthew Ellis
16
+ - Stefan Natchev
17
+ - Manu Wallner
15
18
  - Kohki Miki
16
- - Iulian Onofrei
17
- - Jimmy Dee
18
- - Josh Holtz
19
+ - Felix Krause
19
20
  - Joshua Liebowitz
20
- - Jan Piotrowski
21
- - Andrew McBurney
22
- - Fumiya Nakamura
21
+ - Jérôme Lacoste
22
+ - Josh Holtz
23
23
  - Maksym Grebenets
24
- - Manu Wallner
25
- - Aaron Brager
26
- - Matthew Ellis
24
+ - Andrew McBurney
25
+ - Jan Piotrowski
26
+ - Danielle Tomlinson
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2018-04-16 00:00:00.000000000 Z
30
+ date: 2018-04-17 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -1636,24 +1636,24 @@ metadata:
1636
1636
  post_install_message:
1637
1637
  rdoc_options: []
1638
1638
  require_paths:
1639
- - pilot/lib
1639
+ - credentials_manager/lib
1640
1640
  - pem/lib
1641
- - precheck/lib
1641
+ - snapshot/lib
1642
+ - frameit/lib
1642
1643
  - match/lib
1643
- - gym/lib
1644
- - credentials_manager/lib
1645
1644
  - fastlane_core/lib
1646
- - produce/lib
1647
- - cert/lib
1648
- - snapshot/lib
1649
1645
  - deliver/lib
1650
- - fastlane/lib
1651
- - frameit/lib
1652
1646
  - scan/lib
1647
+ - supply/lib
1648
+ - cert/lib
1649
+ - fastlane/lib
1653
1650
  - spaceship/lib
1654
- - sigh/lib
1651
+ - pilot/lib
1652
+ - gym/lib
1653
+ - precheck/lib
1655
1654
  - screengrab/lib
1656
- - supply/lib
1655
+ - sigh/lib
1656
+ - produce/lib
1657
1657
  required_ruby_version: !ruby/object:Gem::Requirement
1658
1658
  requirements:
1659
1659
  - - ">="
@@ -1661,12 +1661,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
1661
1661
  version: 2.0.0
1662
1662
  required_rubygems_version: !ruby/object:Gem::Requirement
1663
1663
  requirements:
1664
- - - ">"
1664
+ - - ">="
1665
1665
  - !ruby/object:Gem::Version
1666
- version: 1.3.1
1666
+ version: '0'
1667
1667
  requirements: []
1668
1668
  rubyforge_project:
1669
- rubygems_version: 2.5.2.1
1669
+ rubygems_version: 2.4.5.5
1670
1670
  signing_key:
1671
1671
  specification_version: 4
1672
1672
  summary: The easiest way to automate beta deployments and releases for your iOS and