fastlane 2.131.0.beta.20190902200022 → 2.131.0.beta.20190903200013

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: ff19e81a7f7a467da3c8d3b7020cdf7861a00c00
4
- data.tar.gz: f52ebf133ce58c522a57a782ddf373263a43eb05
3
+ metadata.gz: eb52377ac14f01b94d4a8840b64fcb2b18c2bd80
4
+ data.tar.gz: 2e712dda4288b0b037dc58ece762252d50f3d8c7
5
5
  SHA512:
6
- metadata.gz: 8186bc0bf50601c71b8aa312f43103cf9c94f5bc7a7d019d8decb4136f6c548583cd277a6fbfbfe34d37187b3a4b9605918a3081ce65bfe168205488e1f6c53b
7
- data.tar.gz: 1639a4ec66ebbf8d021b852fdeee34af36f57e1113a22715a0d874747aa2ad13e148c270d1a0968a43c679a442c9ec54ad78d7d350a820543f7679643cb1e675
6
+ metadata.gz: bae1ad0f95e7b97736c71c307963322b593e7c635807ee7ebfd0a3cca2306e38033c97178b19a3bf9cea215c7e88ac1ae583fb9451c1d2255d3a9fdf73b20e58
7
+ data.tar.gz: e80c15b846f2013f54ab99f3c88b3f99c5e3f7614a17f8269ccb48225cd6a933726212bcac9cc9815b0ce13bb01575c5026f3ef7c91875c33abe904d110f3ee3
@@ -102,7 +102,8 @@ module Fastlane
102
102
 
103
103
  unless download_url
104
104
  if !wait_for_dsym_processing || (Time.now - start) > (60 * 5)
105
- UI.error("Could not find any dSYM for #{build.build_version} (#{train.version_string})")
105
+ # In some cases, AppStoreConnect does not process the dSYMs, thus no error should be thrown.
106
+ UI.message("Could not find any dSYM for #{build.build_version} (#{train.version_string})")
106
107
  else
107
108
  UI.message("Waiting for dSYM file to appear...")
108
109
  sleep(30)
@@ -113,8 +114,12 @@ module Fastlane
113
114
  break
114
115
  end
115
116
 
116
- self.download(download_url, app.bundle_id, train.version_string, build.build_version, output_directory)
117
- break if build_number
117
+ if download_url
118
+ self.download(download_url, app.bundle_id, train.version_string, build.build_version, output_directory)
119
+ break if build_number
120
+ else
121
+ UI.message("No dSYM URL for #{build.build_version} (#{train.version_string})")
122
+ end
118
123
  end
119
124
  end
120
125
 
@@ -8,6 +8,8 @@ module Fastlane
8
8
  GRADLE_ALL_APK_OUTPUT_PATHS = :GRADLE_ALL_APK_OUTPUT_PATHS
9
9
  GRADLE_AAB_OUTPUT_PATH = :GRADLE_AAB_OUTPUT_PATH
10
10
  GRADLE_ALL_AAB_OUTPUT_PATHS = :GRADLE_ALL_AAB_OUTPUT_PATHS
11
+ GRADLE_OUTPUT_JSON_OUTPUT_PATH = :GRADLE_OUTPUT_JSON_OUTPUT_PATH
12
+ GRADLE_ALL_OUTPUT_JSON_OUTPUT_PATHS = :GRADLE_ALL_OUTPUT_JSON_OUTPUT_PATHS
11
13
  GRADLE_FLAVOR = :GRADLE_FLAVOR
12
14
  GRADLE_BUILD_TYPE = :GRADLE_BUILD_TYPE
13
15
  end
@@ -60,6 +62,7 @@ module Fastlane
60
62
 
61
63
  apk_search_path = File.join(project_dir, '**', 'build', 'outputs', 'apk', '**', '*.apk')
62
64
  aab_search_path = File.join(project_dir, '**', 'build', 'outputs', 'bundle', '**', '*.aab')
65
+ output_json_search_path = File.join(project_dir, '**', 'build', 'outputs', 'apk', '**', 'output.json')
63
66
 
64
67
  # Our apk/aab is now built, but there might actually be multiple ones that were built if a flavor was not specified in a multi-flavor project (e.g. `assembleRelease`)
65
68
  # However, we're not interested in unaligned apk's...
@@ -67,18 +70,23 @@ module Fastlane
67
70
  new_apks = new_apks.map { |path| File.expand_path(path) }
68
71
  new_aabs = Dir[aab_search_path]
69
72
  new_aabs = new_aabs.map { |path| File.expand_path(path) }
73
+ new_output_jsons = Dir[output_json_search_path]
74
+ new_output_jsons = new_output_jsons.map { |path| File.expand_path(path) }
70
75
 
71
76
  # We expose all of these new apks and aabs
72
77
  Actions.lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS] = new_apks
73
78
  Actions.lane_context[SharedValues::GRADLE_ALL_AAB_OUTPUT_PATHS] = new_aabs
79
+ Actions.lane_context[SharedValues::GRADLE_ALL_OUTPUT_JSON_OUTPUT_PATHS] = new_output_jsons
74
80
 
75
81
  # We also take the most recent apk and aab to return as SharedValues::GRADLE_APK_OUTPUT_PATH and SharedValues::GRADLE_AAB_OUTPUT_PATH
76
82
  # This is the one that will be relevant for most projects that just build a single build variant (flavor + build type combo).
77
83
  # In multi build variants this value is undefined
78
84
  last_apk_path = new_apks.sort_by(&File.method(:mtime)).last
79
85
  last_aab_path = new_aabs.sort_by(&File.method(:mtime)).last
86
+ last_output_json_path = new_output_jsons.sort_by(&File.method(:mtime)).last
80
87
  Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH] = File.expand_path(last_apk_path) if last_apk_path
81
88
  Actions.lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH] = File.expand_path(last_aab_path) if last_aab_path
89
+ Actions.lane_context[SharedValues::GRADLE_OUTPUT_JSON_OUTPUT_PATH] = File.expand_path(last_output_json_path) if last_output_json_path
82
90
 
83
91
  # Give a helpful message in case there were no new apks or aabs. Remember we're only running this code when assembling, in which case we certainly expect there to be an apk or aab
84
92
  UI.message('Couldn\'t find any new signed apk files...') if new_apks.empty? && new_aabs.empty?
@@ -165,7 +173,9 @@ module Fastlane
165
173
  ['GRADLE_FLAVOR', 'The flavor, e.g. `MyFlavor`'],
166
174
  ['GRADLE_BUILD_TYPE', 'The build type, e.g. `Release`'],
167
175
  ['GRADLE_AAB_OUTPUT_PATH', 'The path to the most recent Android app bundle'],
168
- ['GRADLE_ALL_AAB_OUTPUT_PATHS', 'The paths to the most recent Android app bundles']
176
+ ['GRADLE_ALL_AAB_OUTPUT_PATHS', 'The paths to the most recent Android app bundles'],
177
+ ['GRADLE_OUTPUT_JSON_OUTPUT_PATH', 'The path to the most recent output.json file'],
178
+ ['GRADLE_ALL_OUTPUT_JSON_OUTPUT_PATHS', 'The path to the newly generated output.json files']
169
179
  ]
170
180
  end
171
181
 
@@ -108,7 +108,7 @@ module Fastlane
108
108
 
109
109
  UI.important("Downloading Crashlytics Support Library - this might take a minute...")
110
110
  result = http_conn.request_get(uri.path)
111
- UI.error!("#{result.message} (#{result.code})") unless result.kind_of?(Net::HTTPSuccess)
111
+ UI.error("#{result.message} (#{result.code})") unless result.kind_of?(Net::HTTPSuccess)
112
112
  File.write(zip_path, result.body)
113
113
 
114
114
  # Now unzip the file
@@ -57,7 +57,6 @@ module Fastlane
57
57
  old_api_version = find_api_version_string(content: old_file_content)
58
58
 
59
59
  # if there is a change, we need to write out the new file
60
- puts("#{api_version} vs #{old_api_version}")
61
60
  if api_version != old_api_version
62
61
  file_content << autogen_version_warning_text(api_version: api_version)
63
62
  else
@@ -90,6 +90,10 @@ module Fastlane
90
90
  source_file_content = File.read(source)
91
91
  target_file_content = File.read(target)
92
92
 
93
+ # ignore if files don't contain FastlaneRunnerAPIVersion
94
+ return false unless source_file_content.include?("FastlaneRunnerAPIVersion")
95
+ return false unless target_file_content.include?("FastlaneRunnerAPIVersion")
96
+
93
97
  bundled_version = source_file_content.match(regex_to_use)[1]
94
98
  target_version = target_file_content.match(regex_to_use)[1]
95
99
  file_versions_are_different = bundled_version != target_version
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.131.0.beta.20190902200022'.freeze
2
+ VERSION = '2.131.0.beta.20190903200013'.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
@@ -9,3 +9,7 @@
9
9
  //
10
10
 
11
11
  import Foundation
12
+
13
+ // Please don't remove the lines below
14
+ // They are used to detect outdated files
15
+ // FastlaneRunnerAPIVersion [0.9.56]
@@ -9,3 +9,7 @@
9
9
  //
10
10
 
11
11
  import Foundation
12
+
13
+ // Please don't remove the lines below
14
+ // They are used to detect outdated files
15
+ // FastlaneRunnerAPIVersion [0.9.56]
@@ -72,7 +72,7 @@ module FastlaneCore
72
72
  # @return [boolean] true if building in a known CI environment
73
73
  def self.ci?
74
74
  # Check for Jenkins, Travis CI, ... environment variables
75
- ['JENKINS_HOME', 'JENKINS_URL', 'TRAVIS', 'CIRCLECI', 'CI', 'APPCENTER_BUILD_ID', 'TEAMCITY_VERSION', 'GO_PIPELINE_NAME', 'bamboo_buildKey', 'GITLAB_CI', 'XCS', 'TF_BUILD', 'GITHUB_ACTION'].each do |current|
75
+ ['JENKINS_HOME', 'JENKINS_URL', 'TRAVIS', 'CIRCLECI', 'CI', 'APPCENTER_BUILD_ID', 'TEAMCITY_VERSION', 'GO_PIPELINE_NAME', 'bamboo_buildKey', 'GITLAB_CI', 'XCS', 'TF_BUILD', 'GITHUB_ACTION', 'GITHUB_ACTIONS'].each do |current|
76
76
  return true if ENV.key?(current)
77
77
  end
78
78
  return false
@@ -72,7 +72,7 @@ module Match
72
72
  cert.certificate_content == cert_contents_base_64
73
73
  end
74
74
 
75
- UI.error!("This certificate cannot be imported - the certificate contents did not match with any available on the Developer Portal") if matching_cert.nil?
75
+ UI.user_error!("This certificate cannot be imported - the certificate contents did not match with any available on the Developer Portal") if matching_cert.nil?
76
76
 
77
77
  # Make dir if doesn't exist
78
78
  FileUtils.mkdir_p(output_dir)
@@ -32,6 +32,11 @@ module Match
32
32
  description: "Only fetch existing certificates and profiles, don't generate new ones",
33
33
  is_string: false,
34
34
  default_value: false),
35
+ FastlaneCore::ConfigItem.new(key: :skip_provisioning_profiles,
36
+ env_name: "MATCH_SKIP_PROVISIONING_PROFILES",
37
+ description: "Skip syncing provisioning profiles",
38
+ is_string: false,
39
+ default_value: false),
35
40
 
36
41
  # app
37
42
  FastlaneCore::ConfigItem.new(key: :app_identifier,
@@ -85,12 +85,14 @@ module Match
85
85
  spaceship.certificate_exists(username: params[:username], certificate_id: cert_id) if spaceship
86
86
 
87
87
  # Provisioning Profiles
88
- app_identifiers.each do |app_identifier|
89
- loop do
90
- break if fetch_provisioning_profile(params: params,
91
- certificate_id: cert_id,
92
- app_identifier: app_identifier,
93
- working_directory: storage.working_directory)
88
+ unless params[:skip_provisioning_profiles]
89
+ app_identifiers.each do |app_identifier|
90
+ loop do
91
+ break if fetch_provisioning_profile(params: params,
92
+ certificate_id: cert_id,
93
+ app_identifier: app_identifier,
94
+ working_directory: storage.working_directory)
95
+ end
94
96
  end
95
97
  end
96
98
 
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.131.0.beta.20190902200022
4
+ version: 2.131.0.beta.20190903200013
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -27,7 +27,7 @@ authors:
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2019-09-02 00:00:00.000000000 Z
30
+ date: 2019-09-03 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -1746,24 +1746,24 @@ metadata:
1746
1746
  post_install_message:
1747
1747
  rdoc_options: []
1748
1748
  require_paths:
1749
- - fastlane/lib
1750
- - screengrab/lib
1751
1749
  - pem/lib
1750
+ - produce/lib
1751
+ - deliver/lib
1752
+ - screengrab/lib
1753
+ - frameit/lib
1754
+ - fastlane/lib
1752
1755
  - precheck/lib
1753
- - match/lib
1756
+ - credentials_manager/lib
1757
+ - scan/lib
1754
1758
  - gym/lib
1755
- - pilot/lib
1756
1759
  - cert/lib
1757
- - sigh/lib
1758
1760
  - spaceship/lib
1759
- - frameit/lib
1760
- - deliver/lib
1761
- - produce/lib
1762
- - credentials_manager/lib
1763
- - fastlane_core/lib
1761
+ - match/lib
1762
+ - sigh/lib
1764
1763
  - supply/lib
1764
+ - pilot/lib
1765
1765
  - snapshot/lib
1766
- - scan/lib
1766
+ - fastlane_core/lib
1767
1767
  required_ruby_version: !ruby/object:Gem::Requirement
1768
1768
  requirements:
1769
1769
  - - ">="