fastlane 1.108.0 → 1.109.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: 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