fastlane 2.73.0.beta.20180104010004 → 2.73.0.beta.20180105010003

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: c3d012ce8dd059ba622673e451c79f833574808e
4
- data.tar.gz: 96d03c83675a925686c22c82a33aefeeac355458
3
+ metadata.gz: 93b6f97931586bdd362b89fcd9b4dfc2fdb8a331
4
+ data.tar.gz: 42a14189eb1130e55a9770b203825f4988f7a0a5
5
5
  SHA512:
6
- metadata.gz: ee573b482a6ab09d2a4f1f9e612ea5753df6cdac9b121ec1909c5cd52f3afb8f10c943015d6fdcfc33be5dd565d526cb6569ff7b413e2adfd1b37d49fe3ceae5
7
- data.tar.gz: 75102f81c512e91e015b88f581623e6f568c1d6514bf365c17fd45dfe55980dbc8831a39ec27fffdb80d7a33ef894cf28f929199a2bbbdd9fed8de8439f5661c
6
+ metadata.gz: acdd97d5ba161e633f1f063f8a4312f28fcfe197a1c15a0752efc68d840281cc08aeb68fe329cdf22e957b9d04c5dcae7b4d63c293b8ea453b41fe3bf11776f5
7
+ data.tar.gz: 171c66ac8c7411f327992457a8ced8956acaae710043aab211026b1764447f1ceaf4e1a5e1cf66be834ad4d7c432b4d3bc0200d15f6edd231ecdbc288c83e2ba
@@ -28,6 +28,7 @@ module Fastlane
28
28
  cmd << "--toolchain #{params[:toolchain]}" if params[:toolchain]
29
29
  cmd << "--project-directory #{params[:project_directory]}" if params[:project_directory]
30
30
  cmd << "--cache-builds" if params[:cache_builds]
31
+ cmd << "--new-resolver" if params[:new_resolver]
31
32
 
32
33
  Actions.sh(cmd.join(' '))
33
34
  end
@@ -151,7 +152,13 @@ module Fastlane
151
152
  FastlaneCore::ConfigItem.new(key: :project_directory,
152
153
  env_name: "FL_CARTHAGE_PROJECT_DIRECTORY",
153
154
  description: "Define the directory containing the Carthage project",
154
- optional: true)
155
+ optional: true),
156
+ FastlaneCore::ConfigItem.new(key: :new_resolver,
157
+ env_name: "FL_CARTHAGE_NEW_RESOLVER",
158
+ description: "Use new resolver when resolving dependency graph",
159
+ is_string: false,
160
+ optional: true,
161
+ type: Boolean)
155
162
  ]
156
163
  end
157
164
 
@@ -172,7 +179,8 @@ module Fastlane
172
179
  platform: "all", # Define which platform to build for (one of ‘all’, ‘Mac’, ‘iOS’, ‘watchOS’, ‘tvOS‘, or comma-separated values of the formers except for ‘all’)
173
180
  configuration: "Release", # Build configuration to use when building
174
181
  cache_builds: true, # By default Carthage will rebuild a dependency regardless of whether its the same resolved version as before.
175
- toolchain: "com.apple.dt.toolchain.Swift_2_3" # Specify the xcodebuild toolchain
182
+ toolchain: "com.apple.dt.toolchain.Swift_2_3", # Specify the xcodebuild toolchain
183
+ new_resolver: false # Use the new resolver to resolve depdendency graph
176
184
  )'
177
185
  ]
178
186
  end
@@ -186,7 +194,7 @@ module Fastlane
186
194
  end
187
195
 
188
196
  def self.authors
189
- ["bassrock", "petester42", "jschmid", "JaviSoto", "uny", "phatblat", "bfcrampton", "antondomashnev"]
197
+ ["bassrock", "petester42", "jschmid", "JaviSoto", "uny", "phatblat", "bfcrampton", "antondomashnev", "gbrhaz"]
190
198
  end
191
199
  end
192
200
  end
@@ -21,7 +21,7 @@ module Fastlane
21
21
  end
22
22
 
23
23
  def self.step_text
24
- "Verifying required fastlane version"
24
+ "Verifying fastlane version"
25
25
  end
26
26
 
27
27
  def self.author
@@ -20,7 +20,7 @@ module Fastlane
20
20
  end
21
21
 
22
22
  def self.step_text
23
- "Verifying required ruby version"
23
+ "Verifying Ruby version"
24
24
  end
25
25
 
26
26
  def self.author
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.73.0.beta.20180104010004'.freeze
2
+ VERSION = '2.73.0.beta.20180105010003'.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
@@ -50,7 +50,7 @@ struct ArgumentProcessor {
50
50
 
51
51
  // User might have configured a timeout for the socket connection
52
52
  let potentialTimeout = fastlaneArgsMinusLanes.filter { arg in
53
- return arg.name.lowercased() == "timeoutSeconds"
53
+ return arg.name.lowercased() == "timeoutseconds"
54
54
  }
55
55
 
56
56
  if let logModeArg = potentialLogMode.first {
@@ -65,6 +65,18 @@ struct ArgumentProcessor {
65
65
  self.commandTimeout = SocketClient.defaultCommandTimeoutSeconds
66
66
  }
67
67
  }
68
+
69
+ func laneParameters() -> [String : String] {
70
+ let laneParametersArgs = self.args.filter { arg in
71
+ let lowercasedName = arg.name.lowercased()
72
+ return lowercasedName != "timeoutseconds" && lowercasedName != "lane" && lowercasedName != "logmode"
73
+ }
74
+ var laneParameters = [String : String]()
75
+ for arg in laneParametersArgs {
76
+ laneParameters[arg.name] = arg.value
77
+ }
78
+ return laneParameters
79
+ }
68
80
  }
69
81
 
70
82
  // Please don't remove the lines below
@@ -10,7 +10,7 @@ import Foundation
10
10
 
11
11
  public protocol LaneFileProtocol: class {
12
12
  var fastlaneVersion: String { get }
13
- static func runLane(named: String)
13
+ static func runLane(named: String, parameters: [String : String])
14
14
 
15
15
  func recordLaneDescriptions()
16
16
  func beforeAll()
@@ -47,13 +47,16 @@ public class LaneFile: NSObject, LaneFileProtocol {
47
47
  let selName = sel_getName(method_getName(methodList![i]))
48
48
  let name = String(cString: selName)
49
49
  let lowercasedName = name.lowercased()
50
- guard lowercasedName.hasSuffix("lane") else {
51
- continue
50
+ if lowercasedName.hasSuffix("lane") {
51
+ laneToMethodName[lowercasedName] = name
52
+ let lowercasedNameNoLane = String(lowercasedName.prefix(lowercasedName.count - 4))
53
+ laneToMethodName[lowercasedNameNoLane] = name
54
+ } else if lowercasedName.hasSuffix("lanewithoptions:") {
55
+ let lowercasedNameNoOptions = String(lowercasedName.prefix(lowercasedName.count - 12))
56
+ laneToMethodName[lowercasedNameNoOptions] = name
57
+ let lowercasedNameNoLane = String(lowercasedNameNoOptions.prefix(lowercasedNameNoOptions.count - 4))
58
+ laneToMethodName[lowercasedNameNoLane] = name
52
59
  }
53
-
54
- laneToMethodName[lowercasedName] = name
55
- let lowercasedNameNoLane = String(lowercasedName.prefix(lowercasedName.count - 4))
56
- laneToMethodName[lowercasedNameNoLane] = name
57
60
  }
58
61
  return laneToMethodName
59
62
  }
@@ -67,7 +70,7 @@ public class LaneFile: NSObject, LaneFileProtocol {
67
70
  }
68
71
  }
69
72
 
70
- public static func runLane(named: String) {
73
+ public static func runLane(named: String, parameters: [String : String]) {
71
74
  log(message: "Running lane: \(named)")
72
75
  self.loadFastfile()
73
76
 
@@ -90,7 +93,7 @@ public class LaneFile: NSObject, LaneFileProtocol {
90
93
  }
91
94
 
92
95
  // We need to catch all possible errors here and display a nice message
93
- _ = fastfileInstance.perform(NSSelectorFromString(laneMethod))
96
+ _ = fastfileInstance.perform(NSSelectorFromString(laneMethod), with: parameters)
94
97
 
95
98
  // only call on success
96
99
  fastfileInstance.afterAll(currentLane: named)
@@ -18,7 +18,7 @@ class MainProcess {
18
18
  @objc func connectToFastlaneAndRunLane() {
19
19
  runner.startSocketThread()
20
20
 
21
- Fastfile.runLane(named: argumentProcessor.currentLane)
21
+ Fastfile.runLane(named: argumentProcessor.currentLane, parameters: argumentProcessor.laneParameters())
22
22
  runner.disconnectFromFastlaneProcess()
23
23
 
24
24
  doneRunningLane = true
@@ -78,7 +78,7 @@ module FastlaneCore
78
78
  # Since we don't want to access FastlaneCore from spaceship
79
79
  # this method is duplicated in spaceship/client.rb
80
80
  def self.fastlane_user_dir
81
- path = File.expand_path(File.join("~", ".fastlane"))
81
+ path = File.expand_path(File.join(Dir.home, ".fastlane"))
82
82
  FileUtils.mkdir_p(path) unless File.directory?(path)
83
83
  return path
84
84
  end
@@ -214,42 +214,12 @@ module FastlaneCore
214
214
  true
215
215
  end
216
216
 
217
- def strip_braces(value)
218
- value.strip!
219
- value = value[1..value.length - 2] if value[0] == "[" && value[value.length - 1] == "]"
220
- return value
221
- end
222
-
223
- def auto_convert_array_value(value)
224
- # covers Arrays like:
225
- # ["["value", "value"]"]
226
- if value.kind_of?(Array)
227
- return value.map do |item|
228
- item = strip_braces(item) if item.kind_of?(String)
229
- item
230
- end
231
- end
232
-
233
- # covers Strings that are actually Arrays like:
234
- # "["value", "value"]"
235
- # "\"value\", \"value\""
236
- if value.kind_of?(String)
237
- value = strip_braces(value)
238
-
239
- return value.split(',').map do |item|
240
- item.strip!
241
- item = item[1..item.length - 2] if item[0] == "\"" && item[item.length - 1] == "\""
242
- item
243
- end
244
- end
245
- end
246
-
247
217
  # Returns an updated value type (if necessary)
248
218
  def auto_convert_value(value)
249
219
  return nil if value.nil?
250
220
 
251
221
  if data_type == Array
252
- return auto_convert_array_value(value)
222
+ return value.split(',') if value.kind_of?(String)
253
223
  elsif data_type == Integer
254
224
  return value.to_i if value.to_i.to_s == value.to_s
255
225
  elsif data_type == Float
@@ -248,7 +248,12 @@ module FastlaneCore
248
248
  end
249
249
  end
250
250
 
251
- value
251
+ # It's very, very important to use the self[:my_key] notation
252
+ # as this will make sure to use the `fetch` method
253
+ # that is responsible for auto converting the values into the right
254
+ # data type
255
+ # Found out via https://github.com/fastlane/fastlane/issues/11243
256
+ return self[key]
252
257
  end
253
258
 
254
259
  # Overwrites or sets a new value for a given key
@@ -320,7 +320,7 @@ module Spaceship
320
320
 
321
321
  # This is a duplicate method of fastlane_core/fastlane_core.rb#fastlane_user_dir
322
322
  def fastlane_user_dir
323
- path = File.expand_path(File.join("~", ".fastlane"))
323
+ path = File.expand_path(File.join(Dir.home, ".fastlane"))
324
324
  FileUtils.mkdir_p(path) unless File.directory?(path)
325
325
  return path
326
326
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.73.0.beta.20180104010004
4
+ version: 2.73.0.beta.20180105010003
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2018-01-04 00:00:00.000000000 Z
18
+ date: 2018-01-05 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: slack-notifier