fastlane 1.69.0 → 1.70.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: 5d29b7501225e604d391ffd243a2749404958456
4
- data.tar.gz: ec1bac264e401af22eaaa8e92373296aa37c1fdf
3
+ metadata.gz: 92368e189d0fabe6140e11af939ca965f80dd279
4
+ data.tar.gz: aec475dc75f8c8ec48b321772226b08a59792822
5
5
  SHA512:
6
- metadata.gz: b5495fdc7b764fa11edf7845aab397165a676ae8a25c401bcd23adf6ae04de0ea46138d90429ebc10b1b218e1e89cc7b2f6589e1656536e0fcc4a7509d8ea34b
7
- data.tar.gz: 388a06e91c69148dad378c7466f7455a2d687c0cf623fb205548866a81c5f3e657b9b0af81780435ed1fc33c4b2a47037401784575360e4bcac425dea7166066
6
+ metadata.gz: c9a426c73fd4edcd1559259d9f10df844d67b7679463c0dd9d4a97657eddfd628451aad63dbbcfdc8a3b10b3d115fafd1348eaf749421524c8c973225d2c9641
7
+ data.tar.gz: 191d9e1609fb2eb5c54dc666c11aa4e62f332ec9e7530735728fdf5782238ac158aed5a67018cb4199dfe1183796eec2d4d5bdd5d21d15c66441c079e2615b33
@@ -29,6 +29,10 @@ module Fastlane
29
29
 
30
30
  UI.message(message.join(" "))
31
31
  app = Spaceship::Application.find(params[:app_identifier])
32
+ unless app
33
+ UI.user_error!("Could not find app with bundle identifier '#{params[:app_identifier]}' on account #{params[:username]}")
34
+ end
35
+
32
36
  app.all_build_train_numbers.each do |train_number|
33
37
  if version && version != train_number
34
38
  next
@@ -8,7 +8,7 @@ module Fastlane
8
8
  begin
9
9
  FastlaneCore::UpdateChecker.start_looking_for_update('supply') unless Helper.is_test?
10
10
 
11
- all_apk_paths = Actions.lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS]
11
+ all_apk_paths = Actions.lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS] || []
12
12
  if all_apk_paths.length > 1
13
13
  params[:apk_paths] ||= all_apk_paths
14
14
  else
@@ -2,9 +2,68 @@ module Fastlane
2
2
  module Actions
3
3
  class UploadSymbolsToCrashlyticsAction < Action
4
4
  def self.run(params)
5
- params[:binary_path] ||= (Dir["/Applications/Fabric.app/**/upload-symbols"] + Dir["./Pods/**/upload-symbols"]).last
6
- UI.user_error!("Please provide a path to the binary using binary_path:") unless params[:binary_path]
5
+ require 'tmpdir'
6
+
7
+ find_binary_path(params)
8
+ find_api_token(params)
9
+
10
+ dsym_paths = []
11
+ dsym_paths << params[:dsym_path]
12
+ dsym_paths += Actions.lane_context[SharedValues::DSYM_PATHS] if Actions.lane_context[SharedValues::DSYM_PATHS]
13
+
14
+ if dsym_paths.count == 0
15
+ UI.error("Couldn't find any dSYMs, please pass them using the dsym_path option")
16
+ return nil
17
+ end
7
18
 
19
+ # Get rid of duplicates (which might occur when both passed and detected)
20
+ dsym_paths = dsym_paths.collect { |a| File.expand_path(a) }
21
+ dsym_paths.uniq!
22
+
23
+ dsym_paths.each do |current_path|
24
+ handle_dsym(params, current_path)
25
+ end
26
+
27
+ UI.success("Successfully uploaded dSYM files to Crashlytics 💯")
28
+ end
29
+
30
+ # @param current_path this is a path to either a dSYM or a zipped dSYM
31
+ # this might also be either nested or not, we're flexible
32
+ def self.handle_dsym(params, current_path)
33
+ if current_path.end_with?(".dSYM")
34
+ upload_dsym(params, current_path)
35
+ elsif current_path.end_with?(".zip")
36
+ UI.message("Extracting '#{current_path}'...")
37
+
38
+ current_path = File.expand_path(current_path)
39
+ Dir.mktmpdir do |dir|
40
+ Dir.chdir(dir) do
41
+ Actions.sh("unzip -qo #{current_path.shellescape}")
42
+ Dir["*.dSYM"].each do |sub|
43
+ handle_dsym(params, sub)
44
+ end
45
+ end
46
+ end
47
+ else
48
+ UI.error "Don't know how to handle '#{current_path}'"
49
+ end
50
+ end
51
+
52
+ def self.upload_dsym(params, path)
53
+ UI.message("Uploading '#{path}'...")
54
+ command = []
55
+ command << params[:binary_path]
56
+ command << "-a #{params[:api_token]}"
57
+ command << "-p #{params[:platform]}"
58
+ command << File.expand_path(path).shellescape
59
+ begin
60
+ Actions.sh(command.join(" "), log: false)
61
+ rescue => ex
62
+ UI.error ex.to_s # it fails, however we don't want to fail everything just for this
63
+ end
64
+ end
65
+
66
+ def self.find_api_token(params)
8
67
  unless params[:api_token].to_s.length > 0
9
68
  Dir["./**/Info.plist"].each do |current|
10
69
  result = Actions::GetInfoPlistValueAction.run(path: current, key: "Fabric")
@@ -14,23 +73,13 @@ module Fastlane
14
73
  end
15
74
  end
16
75
  UI.user_error!("Please provide an api_token using api_token:") unless params[:api_token]
76
+ end
17
77
 
18
- dsym_paths = []
19
- dsym_paths << params[:dsym_path]
20
- dsym_paths += Actions.lane_context[SharedValues::DSYM_PATHS] if Actions.lane_context[SharedValues::DSYM_PATHS]
21
-
22
- UI.error("Couldn't find any dSYMs, please pass them using the dsym_path option") if dsym_paths.count == 0
23
-
24
- dsym_paths.each do |current_path|
25
- command = []
26
- command << File.expand_path(params[:binary_path])
27
- command << "-a #{params[:api_token]}"
28
- command << "-p #{params[:platform]}"
29
- command << File.expand_path(current_path)
30
- Actions.sh(command.join(" "))
31
- end
78
+ def self.find_binary_path(params)
79
+ params[:binary_path] ||= (Dir["/Applications/Fabric.app/**/upload-symbols"] + Dir["./Pods/**/upload-symbols"]).last
80
+ UI.user_error!("Please provide a path to the binary using binary_path:") unless params[:binary_path]
32
81
 
33
- UI.success("Successfully uploaded dSYM files to Crashlytics 💯")
82
+ params[:binary_path] = File.expand_path(params[:binary_path])
34
83
  end
35
84
 
36
85
  #####################################################
@@ -58,7 +107,7 @@ module Fastlane
58
107
  optional: true,
59
108
  verify_block: proc do |value|
60
109
  UI.user_error!("Couldn't find file at path '#{File.expand_path(value)}'") unless File.exist?(value)
61
- UI.user_error!("Symbolication file needs to be dSYM or zip") unless value.end_with?("dSYM.zip", ".dSYM")
110
+ UI.user_error!("Symbolication file needs to be dSYM or zip") unless value.end_with?(".zip", ".dSYM")
62
111
  end),
63
112
  FastlaneCore::ConfigItem.new(key: :api_token,
64
113
  env_name: "CRASHLYTICS_API_TOKEN",
@@ -1,3 +1,3 @@
1
1
  module Fastlane
2
- VERSION = '1.69.0'.freeze
2
+ VERSION = '1.70.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.69.0
4
+ version: 1.70.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-31 00:00:00.000000000 Z
11
+ date: 2016-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: krausefx-shenzhen
@@ -388,7 +388,7 @@ dependencies:
388
388
  requirements:
389
389
  - - ">="
390
390
  - !ruby/object:Gem::Version
391
- version: 0.4.0
391
+ version: 0.6.0
392
392
  - - "<"
393
393
  - !ruby/object:Gem::Version
394
394
  version: 1.0.0
@@ -398,7 +398,7 @@ dependencies:
398
398
  requirements:
399
399
  - - ">="
400
400
  - !ruby/object:Gem::Version
401
- version: 0.4.0
401
+ version: 0.6.0
402
402
  - - "<"
403
403
  - !ruby/object:Gem::Version
404
404
  version: 1.0.0