fastlane 1.68.0 → 1.69.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/lib/assets/DefaultFastfileTemplate +3 -6
  3. data/lib/assets/FastfileTemplateAndroid +3 -5
  4. data/lib/assets/custom_action_template.rb +2 -2
  5. data/lib/fastlane/action.rb +1 -1
  6. data/lib/fastlane/actions/actions_helper.rb +2 -2
  7. data/lib/fastlane/actions/appaloosa.rb +1 -1
  8. data/lib/fastlane/actions/appetize.rb +70 -51
  9. data/lib/fastlane/actions/appium.rb +3 -3
  10. data/lib/fastlane/actions/appledoc.rb +1 -1
  11. data/lib/fastlane/actions/backup_xcarchive.rb +2 -2
  12. data/lib/fastlane/actions/badge.rb +8 -8
  13. data/lib/fastlane/actions/carthage.rb +22 -9
  14. data/lib/fastlane/actions/changelog_from_git_commits.rb +4 -4
  15. data/lib/fastlane/actions/chatwork.rb +2 -2
  16. data/lib/fastlane/actions/clean_cocoapods_cache.rb +1 -1
  17. data/lib/fastlane/actions/cocoapods.rb +1 -1
  18. data/lib/fastlane/actions/commit_version_bump.rb +6 -6
  19. data/lib/fastlane/actions/crashlytics.rb +7 -7
  20. data/lib/fastlane/actions/default_platform.rb +1 -1
  21. data/lib/fastlane/actions/deploygate.rb +19 -6
  22. data/lib/fastlane/actions/dotgpg_environment.rb +1 -1
  23. data/lib/fastlane/actions/download.rb +1 -1
  24. data/lib/fastlane/actions/download_dsyms.rb +31 -2
  25. data/lib/fastlane/actions/dsym_zip.rb +1 -1
  26. data/lib/fastlane/actions/ensure_git_branch.rb +1 -1
  27. data/lib/fastlane/actions/ensure_no_debug_code.rb +2 -2
  28. data/lib/fastlane/actions/ensure_xcode_version.rb +1 -1
  29. data/lib/fastlane/actions/fastlane_version.rb +2 -2
  30. data/lib/fastlane/actions/frameit.rb +1 -1
  31. data/lib/fastlane/actions/gcovr.rb +1 -1
  32. data/lib/fastlane/actions/get_build_number.rb +2 -2
  33. data/lib/fastlane/actions/get_build_number_repository.rb +1 -1
  34. data/lib/fastlane/actions/get_github_release.rb +3 -3
  35. data/lib/fastlane/actions/get_info_plist_value.rb +1 -1
  36. data/lib/fastlane/actions/get_version_number.rb +2 -2
  37. data/lib/fastlane/actions/git_add.rb +2 -2
  38. data/lib/fastlane/actions/git_commit.rb +2 -2
  39. data/lib/fastlane/actions/git_pull.rb +1 -1
  40. data/lib/fastlane/actions/gradle.rb +1 -1
  41. data/lib/fastlane/actions/hg_commit_version_bump.rb +7 -7
  42. data/lib/fastlane/actions/hipchat.rb +7 -7
  43. data/lib/fastlane/actions/hockey.rb +8 -8
  44. data/lib/fastlane/actions/increment_build_number.rb +2 -2
  45. data/lib/fastlane/actions/increment_version_number.rb +4 -4
  46. data/lib/fastlane/actions/install_on_device.rb +3 -3
  47. data/lib/fastlane/actions/install_xcode_plugin.rb +2 -2
  48. data/lib/fastlane/actions/installr.rb +3 -3
  49. data/lib/fastlane/actions/ipa.rb +1 -1
  50. data/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
  51. data/lib/fastlane/actions/lcov.rb +1 -1
  52. data/lib/fastlane/actions/nexus_upload.rb +1 -1
  53. data/lib/fastlane/actions/number_of_commits.rb +1 -1
  54. data/lib/fastlane/actions/oclint.rb +2 -2
  55. data/lib/fastlane/actions/onesignal.rb +3 -3
  56. data/lib/fastlane/actions/pod_push.rb +3 -3
  57. data/lib/fastlane/actions/podio_item.rb +11 -11
  58. data/lib/fastlane/actions/read_podspec.rb +1 -1
  59. data/lib/fastlane/actions/register_devices.rb +6 -6
  60. data/lib/fastlane/actions/reset_git_repo.rb +1 -1
  61. data/lib/fastlane/actions/resign.rb +3 -3
  62. data/lib/fastlane/actions/restore_file.rb +1 -1
  63. data/lib/fastlane/actions/s3.rb +4 -4
  64. data/lib/fastlane/actions/say.rb +1 -1
  65. data/lib/fastlane/actions/set_github_release.rb +10 -10
  66. data/lib/fastlane/actions/set_info_plist_value.rb +1 -1
  67. data/lib/fastlane/actions/slack.rb +2 -2
  68. data/lib/fastlane/actions/slather.rb +1 -1
  69. data/lib/fastlane/actions/sonar.rb +2 -2
  70. data/lib/fastlane/actions/splunkmint.rb +3 -3
  71. data/lib/fastlane/actions/ssh.rb +1 -1
  72. data/lib/fastlane/actions/supply.rb +6 -1
  73. data/lib/fastlane/actions/swiftlint.rb +3 -3
  74. data/lib/fastlane/actions/team_id.rb +1 -1
  75. data/lib/fastlane/actions/team_name.rb +1 -1
  76. data/lib/fastlane/actions/testfairy.rb +3 -3
  77. data/lib/fastlane/actions/testmunk.rb +5 -5
  78. data/lib/fastlane/actions/tryouts.rb +6 -6
  79. data/lib/fastlane/actions/typetalk.rb +2 -2
  80. data/lib/fastlane/actions/unlock_keychain.rb +1 -1
  81. data/lib/fastlane/actions/update_app_group_identifiers.rb +6 -6
  82. data/lib/fastlane/actions/update_app_identifier.rb +6 -6
  83. data/lib/fastlane/actions/update_info_plist.rb +4 -4
  84. data/lib/fastlane/actions/update_project_code_signing.rb +2 -2
  85. data/lib/fastlane/actions/update_project_provisioning.rb +4 -4
  86. data/lib/fastlane/actions/update_project_team.rb +2 -2
  87. data/lib/fastlane/actions/update_url_schemes.rb +1 -1
  88. data/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -0
  89. data/lib/fastlane/actions/upload_symbols_to_sentry.rb +3 -3
  90. data/lib/fastlane/actions/verify_build.rb +13 -13
  91. data/lib/fastlane/actions/verify_xcode.rb +2 -2
  92. data/lib/fastlane/actions/version_bump_podspec.rb +3 -3
  93. data/lib/fastlane/actions/version_get_podspec.rb +2 -2
  94. data/lib/fastlane/actions/xcode_install.rb +1 -1
  95. data/lib/fastlane/actions/xcode_select.rb +2 -2
  96. data/lib/fastlane/actions/xcode_server_get_assets.rb +10 -10
  97. data/lib/fastlane/actions/xcodebuild.rb +2 -2
  98. data/lib/fastlane/actions/xctool.rb +1 -1
  99. data/lib/fastlane/actions/zip.rb +58 -0
  100. data/lib/fastlane/command_line_handler.rb +1 -1
  101. data/lib/fastlane/documentation/actions_list.rb +1 -1
  102. data/lib/fastlane/erb_template_helper.rb +1 -1
  103. data/lib/fastlane/helper/crashlytics_helper.rb +5 -5
  104. data/lib/fastlane/helper/git_helper.rb +2 -1
  105. data/lib/fastlane/helper/gradle_helper.rb +0 -2
  106. data/lib/fastlane/helper/podspec_helper.rb +2 -2
  107. data/lib/fastlane/lane_manager.rb +3 -3
  108. data/lib/fastlane/one_off.rb +3 -3
  109. data/lib/fastlane/runner.rb +7 -7
  110. data/lib/fastlane/setup/setup.rb +1 -2
  111. data/lib/fastlane/supported_platforms.rb +1 -1
  112. data/lib/fastlane/version.rb +1 -1
  113. metadata +20 -5
@@ -57,7 +57,7 @@ module Fastlane
57
57
 
58
58
  def self.run(params)
59
59
  unless Helper.test?
60
- raise "xcodebuild not installed".red if `which xcodebuild`.length == 0
60
+ UI.user_error!("xcodebuild not installed") if `which xcodebuild`.length == 0
61
61
  end
62
62
 
63
63
  # The args we will build with
@@ -155,7 +155,7 @@ module Fastlane
155
155
  # Formatting style
156
156
  if params && params[:output_style]
157
157
  output_style = params[:output_style]
158
- raise "Invalid output_style #{output_style}".red unless [:standard, :basic].include?(output_style)
158
+ UI.user_error!("Invalid output_style #{output_style}") unless [:standard, :basic].include?(output_style)
159
159
  else
160
160
  output_style = :standard
161
161
  end
@@ -4,7 +4,7 @@ module Fastlane
4
4
  def self.run(params)
5
5
  UI.important("Have you seen the new 'scan' tool to run tests? https://github.com/fastlane/fastlane/tree/master/scan")
6
6
  unless Helper.test?
7
- raise 'xctool not installed, please install using `brew install xctool`'.red if `which xctool`.length == 0
7
+ UI.user_error!("xctool not installed, please install using `brew install xctool`") if `which xctool`.length == 0
8
8
  end
9
9
 
10
10
  params = [] if params.kind_of? FastlaneCore::Configuration
@@ -0,0 +1,58 @@
1
+ module Fastlane
2
+ module Actions
3
+ class ZipAction < Action
4
+ def self.run(params)
5
+ UI.message "Compressing #{params[:path]}..."
6
+
7
+ params[:output_path] ||= "#{params[:path]}.zip"
8
+ sh "zip -r #{params[:output_path]} #{params[:path].shellescape}"
9
+
10
+ UI.success "Successfully generated zip file at path '#{File.expand_path(params[:output_path])}'"
11
+ return File.expand_path(params[:output_path])
12
+ end
13
+
14
+ #####################################################
15
+ # @!group Documentation
16
+ #####################################################
17
+
18
+ def self.description
19
+ "Compress a file or folder to a zip"
20
+ end
21
+
22
+ def self.details
23
+ "This zips everything in a weird way if you're not in the directory of the file to zip"
24
+ end
25
+
26
+ def self.available_options
27
+ [
28
+ FastlaneCore::ConfigItem.new(key: :path,
29
+ env_name: "FL_ZIP_PATH",
30
+ description: "Path to the directory or file to be zipped",
31
+ verify_block: proc do |value|
32
+ UI.user_error!("Couldn't find file/folder at path '#{File.expand_path(value)}'") unless File.exist?(value)
33
+ end),
34
+ FastlaneCore::ConfigItem.new(key: :output_path,
35
+ env_name: "FL_ZIP_OUTPUT_NAME",
36
+ description: "The name of the resulting zip file",
37
+ optional: true)
38
+ ]
39
+ end
40
+
41
+ def self.output
42
+ []
43
+ end
44
+
45
+ def self.return_value
46
+ "The path to the output zip file"
47
+ end
48
+
49
+ def self.authors
50
+ ["KrauseFx"]
51
+ end
52
+
53
+ def self.is_supported?(platform)
54
+ true
55
+ end
56
+ end
57
+ end
58
+ end
@@ -9,7 +9,7 @@ module Fastlane
9
9
  args.each do |current|
10
10
  if current.include? ":" # that's a key/value which we want to pass to the lane
11
11
  key, value = current.split(":", 2)
12
- raise "Please pass values like this: key:value" unless key.length > 0
12
+ UI.user_error!("Please pass values like this: key:value") unless key.length > 0
13
13
  value = convert_value(value)
14
14
  UI.verbose("Using #{key}: #{value}")
15
15
  lane_parameters[key.to_sym] = value
@@ -153,7 +153,7 @@ module Fastlane
153
153
 
154
154
  elsif current.kind_of? Array
155
155
  # Legacy actions that don't use the new config manager
156
- raise "Invalid number of elements in this row: #{current}. Must be 2 or 3".red unless [2, 3].include? current.count
156
+ UI.user_error!("Invalid number of elements in this row: #{current}. Must be 2 or 3") unless [2, 3].include? current.count
157
157
  rows << current
158
158
  rows.last[0] = rows.last.first.yellow # color it yellow :)
159
159
  rows.last << nil while fill_all and rows.last.count < 3 # to have a nice border in the table
@@ -8,7 +8,7 @@ module Fastlane
8
8
 
9
9
  def self.load_from_path(template_filepath)
10
10
  unless File.exist?(template_filepath)
11
- raise "Could not find Template at path '#{template_filepath}'".red
11
+ UI.user_error!("Could not find Template at path '#{template_filepath}'")
12
12
  end
13
13
  File.read(template_filepath)
14
14
  end
@@ -3,10 +3,10 @@ module Fastlane
3
3
  class CrashlyticsHelper
4
4
  class << self
5
5
  def generate_ios_command(params)
6
- raise "No value found for 'crashlytics_path'" unless params[:crashlytics_path]
6
+ UI.user_error!("No value found for 'crashlytics_path'") unless params[:crashlytics_path]
7
7
  submit_binary = Dir[File.join(params[:crashlytics_path], '**', 'submit')].last
8
8
  submit_binary ||= "Crashlytics.framework/submit" if Helper.test?
9
- raise "Could not find submit binary in crashlytics bundle at path '#{params[:crashlytics_path]}'" unless submit_binary
9
+ UI.user_error!("Could not find submit binary in crashlytics bundle at path '#{params[:crashlytics_path]}'") unless submit_binary
10
10
 
11
11
  command = []
12
12
  command << submit_binary
@@ -31,7 +31,7 @@ module Fastlane
31
31
 
32
32
  params[:crashlytics_path] = download_android_tools unless params[:crashlytics_path]
33
33
 
34
- raise "The `crashlytics_path` must be a jar file for Android" unless params[:crashlytics_path].end_with?(".jar") || Helper.test?
34
+ UI.user_error!("The `crashlytics_path` must be a jar file for Android") unless params[:crashlytics_path].end_with?(".jar") || Helper.test?
35
35
 
36
36
  command = ["java"]
37
37
  command << "-jar #{File.expand_path(params[:crashlytics_path])}"
@@ -70,11 +70,11 @@ module Fastlane
70
70
  # Now unzip the file
71
71
  Action.sh "unzip '#{zip_path}' -d '#{containing}'"
72
72
 
73
- raise "Coulnd't find 'crashlytics-devtools.jar'" unless File.exist?(jar_path)
73
+ UI.user_error!("Coulnd't find 'crashlytics-devtools.jar'") unless File.exist?(jar_path)
74
74
 
75
75
  UI.success "Succesfully downloaded Crashlytics Support Library to '#{jar_path}'"
76
76
  rescue => ex
77
- raise "Error fetching remote file: #{ex}"
77
+ UI.user_error!("Error fetching remote file: #{ex}")
78
78
  end
79
79
 
80
80
  return jar_path
@@ -42,10 +42,11 @@ module Fastlane
42
42
  nil
43
43
  end
44
44
 
45
+ # @deprecated Use <tt>git_author_email</tt> instead
45
46
  # Get the author email of the last git commit
46
47
  # <b>DEPRECATED:</b> Use <tt>git_author_email</tt> instead.
47
48
  def self.git_author
48
- UI.important('`git_author` is deprecated. Please use `git_author_email` instead.')
49
+ UI.deprecated('`git_author` is deprecated. Please use `git_author_email` instead.')
49
50
  git_author_email
50
51
  end
51
52
 
@@ -24,8 +24,6 @@ module Fastlane
24
24
 
25
25
  # Run a certain action
26
26
  def trigger(task: nil, flags: nil, serial: nil)
27
- # raise "Could not find gradle task '#{task}' in the list of available tasks".red unless task_available?(task)
28
-
29
27
  android_serial = (serial != "") ? "ANDROID_SERIAL=#{serial}" : nil
30
28
  command = [android_serial, gradle_path, task, flags].reject(&:nil?).join(" ")
31
29
  Action.sh(command)
@@ -12,7 +12,7 @@ module Fastlane
12
12
  @version_regex = /^(?<begin>[^#]*#{version_var_name}\s*=\s*['"])(?<value>(?<major>[0-9]+)(\.(?<minor>[0-9]+))?(\.(?<patch>[0-9]+))?)(?<end>['"])/i
13
13
 
14
14
  return unless (path || '').length > 0
15
- raise "Could not find podspec file at path '#{path}'".red unless File.exist?(path)
15
+ UI.user_error!("Could not find podspec file at path '#{path}'") unless File.exist?(path)
16
16
 
17
17
  @path = File.expand_path(path)
18
18
  podspec_content = File.read(path)
@@ -23,7 +23,7 @@ module Fastlane
23
23
  def parse(podspec_content)
24
24
  @podspec_content = podspec_content
25
25
  @version_match = @version_regex.match(@podspec_content)
26
- raise "Could not find version in podspec content '#{@podspec_content}'".red if @version_match.nil?
26
+ UI.user_error!("Could not find version in podspec content '#{@podspec_content}'") if @version_match.nil?
27
27
  @version_value = @version_match[:value]
28
28
  end
29
29
 
@@ -5,9 +5,9 @@ module Fastlane
5
5
  # @param parameters [Hash] The parameters passed from the command line to the lane
6
6
  # @param env Dot Env Information
7
7
  def self.cruise_lane(platform, lane, parameters = nil, env = nil)
8
- raise 'lane must be a string' unless lane.kind_of?(String) or lane.nil?
9
- raise 'platform must be a string' unless platform.kind_of?(String) or platform.nil?
10
- raise 'parameters must be a hash' unless parameters.kind_of?(Hash) or parameters.nil?
8
+ UI.user_error!("lane must be a string") unless lane.kind_of?(String) or lane.nil?
9
+ UI.user_error!("platform must be a string") unless platform.kind_of?(String) or platform.nil?
10
+ UI.user_error!("parameters must be a hash") unless parameters.kind_of?(Hash) or parameters.nil?
11
11
 
12
12
  ff = Fastlane::FastFile.new(File.join(Fastlane::FastlaneFolder.path, 'Fastfile'))
13
13
 
@@ -8,7 +8,7 @@ module Fastlane
8
8
  args.each do |current|
9
9
  if current.include? ":" # that's a key/value which we want to pass to the lane
10
10
  key, value = current.split(":", 2)
11
- raise "Please pass values like this: key:value" unless key.length > 0
11
+ UI.user_error!("Please pass values like this: key:value") unless key.length > 0
12
12
  value = CommandLineHandler.convert_value(value)
13
13
  UI.verbose("Using #{key}: #{value}")
14
14
  action_parameters[key.to_sym] = value
@@ -17,14 +17,14 @@ module Fastlane
17
17
  end
18
18
  end
19
19
 
20
- raise "invalid syntax" unless action_name
20
+ UI.crash!("invalid syntax") unless action_name
21
21
 
22
22
  class_name = action_name.fastlane_class + 'Action'
23
23
  class_ref = nil
24
24
  begin
25
25
  class_ref = Fastlane::Actions.const_get(class_name)
26
26
  rescue NameError
27
- raise "Action not found"
27
+ UI.crash!("Action '#{class_name}' not found")
28
28
  end
29
29
 
30
30
  r = Runner.new
@@ -20,15 +20,15 @@ module Fastlane
20
20
  # @param parameters [Hash] The parameters passed from the command line to the lane
21
21
  # rubocop:disable Metrics/AbcSize
22
22
  def execute(lane, platform = nil, parameters = nil)
23
- raise "No lane given" unless lane
23
+ UI.crash!("No lane given") unless lane
24
24
 
25
25
  self.current_lane = lane.to_sym
26
26
  self.current_platform = (platform ? platform.to_sym : nil)
27
27
 
28
28
  lane_obj = lanes.fetch(current_platform, {}).fetch(current_lane, nil)
29
29
 
30
- raise "Could not find lane '#{full_lane_name}'. Available lanes: #{available_lanes.join(', ')}".red unless lane_obj
31
- raise "You can't call the private lane '#{lane}' directly" if lane_obj.is_private
30
+ UI.user_error!("Could not find lane '#{full_lane_name}'. Available lanes: #{available_lanes.join(', ')}") unless lane_obj
31
+ UI.user_error!("You can't call the private lane '#{lane}' directly") if lane_obj.is_private
32
32
 
33
33
  ENV["FASTLANE_LANE_NAME"] = current_lane.to_s
34
34
  ENV["FASTLANE_PLATFORM_NAME"] = (current_platform ? current_platform.to_s : nil)
@@ -97,7 +97,7 @@ module Fastlane
97
97
  original_full = full_lane_name
98
98
  original_lane = current_lane
99
99
 
100
- raise "Parameters for a lane must always be a hash".red unless (parameters.first || {}).kind_of? Hash
100
+ UI.user_error!("Parameters for a lane must always be a hash") unless (parameters.first || {}).kind_of? Hash
101
101
 
102
102
  pretty = [new_lane]
103
103
  pretty = [current_platform, new_lane] if current_platform
@@ -137,7 +137,7 @@ module Fastlane
137
137
  # This action does not use the new action format
138
138
  # Just passing the arguments to this method
139
139
  else
140
- raise "You have to call the integration like `#{method_sym}(key: \"value\")`. Run `fastlane action #{method_sym}` for all available keys. Please check out the current documentation on GitHub.".red
140
+ UI.user_error!("You have to call the integration like `#{method_sym}(key: \"value\")`. Run `fastlane action #{method_sym}` for all available keys. Please check out the current documentation on GitHub.")
141
141
  end
142
142
 
143
143
  class_ref.run(arguments)
@@ -156,7 +156,7 @@ module Fastlane
156
156
  platform = Actions.lane_context[Actions::SharedValues::PLATFORM_NAME]
157
157
 
158
158
  unless class_ref.is_supported?(platform)
159
- raise "Action '#{name}' doesn't support required operating system '#{platform}'.".red
159
+ UI.user_error!("Action '#{name}' doesn't support required operating system '#{platform}'.")
160
160
  end
161
161
  end
162
162
  end
@@ -179,7 +179,7 @@ module Fastlane
179
179
  lanes[lane.platform] ||= {}
180
180
 
181
181
  if !override and lanes[lane.platform][lane.name]
182
- raise "Lane '#{lane.name}' was defined multiple times!".red
182
+ UI.user_error!("Lane '#{lane.name}' was defined multiple times!")
183
183
  end
184
184
 
185
185
  lanes[lane.platform][lane.name] = lane
@@ -20,7 +20,7 @@ module Fastlane
20
20
  elsif platform == :android
21
21
  SetupAndroid.new.run
22
22
  else
23
- raise "Couldn't find platform '#{platform}'"
23
+ UI.user_error!("Couldn't find platform '#{platform}'")
24
24
  end
25
25
  end
26
26
 
@@ -36,7 +36,6 @@ module Fastlane
36
36
  UI.message("fastlane will send the number of errors for each action to")
37
37
  UI.message("https://github.com/fastlane/enhancer to detect integration issues")
38
38
  UI.message("No sensitive/private information will be uploaded")
39
- UI.message("You can disable this by adding `opt_out_usage` to your Fastfile")
40
39
  end
41
40
  end
42
41
  end
@@ -11,7 +11,7 @@ module Fastlane
11
11
  # this will throw an exception if the passed platform is not supported
12
12
  def self.verify!(platform)
13
13
  unless all.include? platform.to_s.to_sym
14
- raise "Platform '#{platform}' is not supported. Must be either #{self.all}".red
14
+ UI.user_error!("Platform '#{platform}' is not supported. Must be either #{self.all}")
15
15
  end
16
16
  end
17
17
  end
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '1.68.0'.freeze
2
+ VERSION = '1.69.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.68.0
4
+ version: 1.69.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-23 00:00:00.000000000 Z
11
+ date: 2016-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: krausefx-shenzhen
@@ -128,13 +128,27 @@ dependencies:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
130
  version: 2.3.8
131
+ - !ruby/object:Gem::Dependency
132
+ name: multipart-post
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: 2.0.0
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: 2.0.0
131
145
  - !ruby/object:Gem::Dependency
132
146
  name: fastlane_core
133
147
  requirement: !ruby/object:Gem::Requirement
134
148
  requirements:
135
149
  - - ">="
136
150
  - !ruby/object:Gem::Version
137
- version: 0.37.0
151
+ version: 0.41.0
138
152
  - - "<"
139
153
  - !ruby/object:Gem::Version
140
154
  version: 1.0.0
@@ -144,7 +158,7 @@ dependencies:
144
158
  requirements:
145
159
  - - ">="
146
160
  - !ruby/object:Gem::Version
147
- version: 0.37.0
161
+ version: 0.41.0
148
162
  - - "<"
149
163
  - !ruby/object:Gem::Version
150
164
  version: 1.0.0
@@ -816,6 +830,7 @@ files:
816
830
  - lib/fastlane/actions/xcodebuild.rb
817
831
  - lib/fastlane/actions/xcov.rb
818
832
  - lib/fastlane/actions/xctool.rb
833
+ - lib/fastlane/actions/zip.rb
819
834
  - lib/fastlane/command_line_handler.rb
820
835
  - lib/fastlane/configuration_helper.rb
821
836
  - lib/fastlane/core_ext/bundler_monkey_patch.rb
@@ -865,7 +880,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
865
880
  version: '0'
866
881
  requirements: []
867
882
  rubyforge_project:
868
- rubygems_version: 2.2.2
883
+ rubygems_version: 2.4.0
869
884
  signing_key:
870
885
  specification_version: 4
871
886
  summary: Connect all iOS deployment tools into one streamlined workflow