fastlane 1.108.0 → 1.109.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc2c2b50354833ba4132088197a516c4559402bd
4
- data.tar.gz: f229785555b1062b0e35326eb78c38d5635043b6
3
+ metadata.gz: a7f4c46599885e13190587692976328b3d42ca96
4
+ data.tar.gz: 44b833e203c19182405dcd916040979dae25b32d
5
5
  SHA512:
6
- metadata.gz: 8449c5ac9309de388ecbe0f7d335e9d7edb55774682700da02e1b89308bd84599f8cc5e079d4b9d6ee93c39b169213dc2e15de6482b082ebdcb40c011a12a7da
7
- data.tar.gz: 8eb65c0be52f83651570ba2444eedc365bbc82e6fdc7710d03187fcf8987eb60d57117666ff5b2dcfc838b98ca66ac3579fcf10d47049f46bf37735f5d126302
6
+ metadata.gz: bc927f1489ead8bb48983e134ec6225a6449784df170d31a4753420c2f47bf977e08d8414d39e24729e4330cc0b3a6df9227f777571b394eb2688bab198ba8ff
7
+ data.tar.gz: 35ed1904bcd783fc8ffe4dff400c6e36b60a569f6fe937398d5971e1e4fb0efeb0414f15212fbdf03d9ba048bf3aa6bdcb90588e10a367154318ba5dc3ae641f
data/lib/.DS_Store ADDED
Binary file
Binary file
Binary file
Binary file
@@ -65,7 +65,7 @@ module Fastlane
65
65
  optional: true),
66
66
  FastlaneCore::ConfigItem.new(key: :devices_file,
67
67
  env_name: "FL_REGISTER_DEVICES_FILE",
68
- description: "Provide a path to the devices to register",
68
+ description: "Provide a path to a file with the devices to register. For the format of the file see the examples",
69
69
  optional: true,
70
70
  verify_block: proc do |value|
71
71
  UI.user_error!("Could not find file '#{value}'") unless File.exist?(value)
@@ -13,6 +13,11 @@ module Fastlane
13
13
  $verbose = true if ARGV.include?("--verbose")
14
14
  $capture_output = true if ARGV.include?("--capture_output")
15
15
 
16
+ # has to be checked here - in case we wan't to troubleshoot plugin related issues
17
+ if ARGV.include?("--troubleshoot")
18
+ self.confirm_troubleshoot
19
+ end
20
+
16
21
  if $capture_output
17
22
  # Trace mode is enabled
18
23
  # redirect STDOUT and STDERR
@@ -42,6 +47,26 @@ module Fastlane
42
47
  end
43
48
  end
44
49
 
50
+ def self.confirm_troubleshoot
51
+ if Helper.is_ci?
52
+ UI.error "---"
53
+ UI.error "You are trying to use '--troubleshoot' on CI"
54
+ UI.error "this option is not usable in CI, as it is insecure"
55
+ UI.error "---"
56
+ UI.user_error!("Do not use --troubleshoot in CI")
57
+ end
58
+ # maybe already set by 'start'
59
+ return if $troubleshoot
60
+ UI.error "---"
61
+ UI.error "Are you sure you want to enable '--troubleshoot'?"
62
+ UI.error "All commmands will run in full unfiltered output mode."
63
+ UI.error "Sensitive data, like passwords, could be printed to the log."
64
+ UI.error "---"
65
+ if UI.confirm("Do you really want to enable --troubleshoot")
66
+ $troubleshoot = true
67
+ end
68
+ end
69
+
45
70
  def run
46
71
  program :version, Fastlane::VERSION
47
72
  program :description, [
@@ -56,6 +81,7 @@ module Fastlane
56
81
 
57
82
  global_option('--verbose') { $verbose = true }
58
83
  global_option('--capture_output', 'Captures the output of the current run, and generates a markdown issue template') { $capture_output = true }
84
+ global_option('--troubleshoot', 'Enables extended verbose mode. Use with caution, as this even includes ALL sensitive data. Cannot be used on CI.')
59
85
 
60
86
  always_trace!
61
87
 
@@ -78,6 +78,16 @@ module Fastlane
78
78
  env_output
79
79
  end
80
80
 
81
+ # We have this as a separate method, as this has to be handled
82
+ # slightly differently, depending on how fastlane is being called
83
+ def self.gems_to_check
84
+ if Helper.contained_fastlane?
85
+ Gem::Specification
86
+ else
87
+ Gem.loaded_specs.values
88
+ end
89
+ end
90
+
81
91
  def self.print_loaded_fastlane_gems
82
92
  # fastlanes internal gems
83
93
  env_output = "### fastlane gems\n\n"
@@ -85,14 +95,15 @@ module Fastlane
85
95
  table << "| Gem | Version | Update-Status |\n"
86
96
  table << "|-----|---------|------------|\n"
87
97
  fastlane_tools = Fastlane::TOOLS + [:fastlane_core, :credentials_manager]
88
- Gem.loaded_specs.values.each do |x|
98
+
99
+ gems_to_check.each do |current_gem|
89
100
  update_status = "N/A"
90
101
 
91
- next unless fastlane_tools.include?(x.name.to_sym)
102
+ next unless fastlane_tools.include?(current_gem.name.to_sym)
92
103
  begin
93
- update_url = FastlaneCore::UpdateChecker.generate_fetch_url(x.name)
104
+ update_url = FastlaneCore::UpdateChecker.generate_fetch_url(current_gem.name)
94
105
  latest_version = FastlaneCore::UpdateChecker.fetch_latest(update_url)
95
- if Gem::Version.new(x.version) == Gem::Version.new(latest_version)
106
+ if Gem::Version.new(current_gem.version) == Gem::Version.new(latest_version)
96
107
  update_status = "✅ Up-To-Date"
97
108
  else
98
109
  update_status = "🚫 Update availaible"
@@ -100,7 +111,7 @@ module Fastlane
100
111
  rescue
101
112
  update_status = "💥 Check failed"
102
113
  end
103
- table << "| #{x.name} | #{x.version} | #{update_status} |\n"
114
+ table << "| #{current_gem.name} | #{current_gem.version} | #{update_status} |\n"
104
115
  end
105
116
 
106
117
  rendered_table = MarkdownTableFormatter.new table
@@ -117,9 +128,9 @@ module Fastlane
117
128
 
118
129
  table = "| Gem | Version |\n"
119
130
  table << "|-----|---------|\n"
120
- Gem.loaded_specs.values.each do |x|
121
- unless Fastlane::TOOLS.include?(x.name.to_sym)
122
- table << "| #{x.name} | #{x.version} |\n"
131
+ gems_to_check.each do |current_gem|
132
+ unless Fastlane::TOOLS.include?(current_gem.name.to_sym)
133
+ table << "| #{current_gem.name} | #{current_gem.version} |\n"
123
134
  end
124
135
  end
125
136
  rendered_table = MarkdownTableFormatter.new table
@@ -162,20 +173,52 @@ module Fastlane
162
173
  require "openssl"
163
174
 
164
175
  env_output = "### Stack\n\n"
165
- product, version, build = `sw_vers`.strip.split("\n").map { |line| line.split(':').last.strip }
176
+ product, version, build = "Unknown"
177
+ os_version = "UNKNOWN"
178
+
179
+ if Helper.mac?
180
+ product, version, build = `sw_vers`.strip.split("\n").map { |line| line.split(':').last.strip }
181
+ os_version = version
182
+ end
183
+
184
+ if Helper.linux?
185
+ # this should work on pretty much all linux distros
186
+ os_version = `uname -a`.strip
187
+ version = ""
188
+ build = `uname -r`.strip
189
+ product = `cat /etc/issue.net`.strip
190
+
191
+ distro_guesser = {
192
+ fedora: "/etc/fedora-release",
193
+ debian_based: "/etc/debian_version",
194
+ suse: "/etc/SUSE-release",
195
+ mandrake: "/etc/mandrake-release"
196
+ }
197
+
198
+ distro_guesser.each do |dist, vers|
199
+ os_version = "#{dist} " + File.read(vers).strip if File.exist?(vers)
200
+ version = os_version
201
+ end
202
+ end
203
+
166
204
  table_content = {
167
205
  "fastlane" => Fastlane::VERSION,
168
- "OS" => `sw_vers -productVersion`.strip,
206
+ "OS" => os_version,
169
207
  "Ruby" => RUBY_VERSION,
170
208
  "Bundler?" => Helper.bundler?,
171
- "Xcode Path" => Helper.xcode_path,
172
- "Xcode Version" => Helper.xcode_version,
173
209
  "Git" => `git --version`.strip.split("\n").first,
174
210
  "Installation Source" => $PROGRAM_NAME,
175
211
  "Host" => "#{product} #{version} (#{build})",
176
212
  "Ruby Lib Dir" => RbConfig::CONFIG['libdir'],
177
- "OpenSSL Version" => OpenSSL::OPENSSL_VERSION
213
+ "OpenSSL Version" => OpenSSL::OPENSSL_VERSION,
214
+ "Is contained" => Helper.contained_fastlane?.to_s
178
215
  }
216
+
217
+ if Helper.mac?
218
+ table_content["Xcode Path"] = Helper.xcode_path
219
+ table_content["Xcode Version"] = Helper.xcode_version
220
+ end
221
+
179
222
  table = ["| Key | Value |"]
180
223
  table += table_content.collect { |k, v| "| #{k} | #{v} |" }
181
224
 
@@ -189,6 +189,12 @@ module Fastlane
189
189
  FastlaneRequire.install_gem_if_needed(gem_name: gem_name, require_gem: true)
190
190
  end
191
191
 
192
+ def generated_fastfile_id(id)
193
+ # This value helps us track success/failure metrics for Fastfiles we
194
+ # generate as part of an automated process.
195
+ ENV['GENERATED_FASTFILE_ID'] = id
196
+ end
197
+
192
198
  def import(path = nil)
193
199
  UI.user_error!("Please pass a path to the `import` action") unless path
194
200
 
@@ -19,6 +19,7 @@ module Fastlane
19
19
  # @param print_command_output [Boolean] Should we print the command output during execution
20
20
  # @param error_callback [Block] A block that's called if the command exits with a non-zero status
21
21
  def self.sh_control_output(command, print_command: true, print_command_output: true, error_callback: nil)
22
+ print_command = print_command_output = true if $troubleshoot
22
23
  # Set the encoding first, the user might have set it wrong
23
24
  previous_encoding = [Encoding.default_external, Encoding.default_internal]
24
25
  Encoding.default_external = Encoding::UTF_8
Binary file
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '1.108.0'.freeze
2
+ VERSION = '1.109.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps"
4
4
  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: 1.108.0
4
+ version: 1.109.0
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: 2016-11-10 00:00:00.000000000 Z
18
+ date: 2016-11-15 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: krausefx-shenzhen
@@ -225,7 +225,7 @@ dependencies:
225
225
  requirements:
226
226
  - - ">="
227
227
  - !ruby/object:Gem::Version
228
- version: 0.55.0
228
+ version: 0.55.1
229
229
  - - "<"
230
230
  - !ruby/object:Gem::Version
231
231
  version: 1.0.0
@@ -235,7 +235,7 @@ dependencies:
235
235
  requirements:
236
236
  - - ">="
237
237
  - !ruby/object:Gem::Version
238
- version: 0.55.0
238
+ version: 0.55.1
239
239
  - - "<"
240
240
  - !ruby/object:Gem::Version
241
241
  version: 1.0.0
@@ -735,12 +735,15 @@ files:
735
735
  - README.md
736
736
  - bin/fastlane
737
737
  - "bin/\U0001F680"
738
+ - lib/.DS_Store
739
+ - lib/assets/.DS_Store
738
740
  - lib/assets/Actions.md.erb
739
741
  - lib/assets/AppfileTemplate
740
742
  - lib/assets/AppfileTemplateAndroid
741
743
  - lib/assets/AvailablePlugins.md.erb
742
744
  - lib/assets/DefaultFastfileTemplate
743
745
  - lib/assets/FastfileTemplateAndroid
746
+ - lib/assets/completions/.DS_Store
744
747
  - lib/assets/completions/completion.bash
745
748
  - lib/assets/completions/completion.sh
746
749
  - lib/assets/completions/completion.zsh
@@ -751,6 +754,7 @@ files:
751
754
  - lib/assets/s3_plist_template.erb
752
755
  - lib/assets/s3_version_template.erb
753
756
  - lib/fastlane.rb
757
+ - lib/fastlane/.DS_Store
754
758
  - lib/fastlane/action.rb
755
759
  - lib/fastlane/action_collector.rb
756
760
  - lib/fastlane/actions/README.md
@@ -987,6 +991,7 @@ files:
987
991
  - lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb
988
992
  - lib/fastlane/plugins/template/spec/spec_helper.rb.erb
989
993
  - lib/fastlane/runner.rb
994
+ - lib/fastlane/setup/.DS_Store
990
995
  - lib/fastlane/setup/crashlytics_beta.rb
991
996
  - lib/fastlane/setup/crashlytics_beta_command_line_handler.rb
992
997
  - lib/fastlane/setup/crashlytics_beta_info.rb
@@ -1020,7 +1025,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1020
1025
  version: '0'
1021
1026
  requirements: []
1022
1027
  rubyforge_project:
1023
- rubygems_version: 2.5.1
1028
+ rubygems_version: 2.2.2
1024
1029
  signing_key:
1025
1030
  specification_version: 4
1026
1031
  summary: The easiest way to automate beta deployments and releases for your iOS and