fastlane 2.132.0.beta.20190929200020 → 2.132.0.beta.20190930200026

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: 7475d8243a69dbe47e5ac7e78c92a3d42fbf49b1
4
- data.tar.gz: 4a9eb1f935cab51481216628acfc61e2f50a898f
3
+ metadata.gz: c14e4ec05ffa2e8bb2bfed039373bf6e6a379c6a
4
+ data.tar.gz: e4e202342dd405c57ceaa1f2417478e83d270b5a
5
5
  SHA512:
6
- metadata.gz: c05bb507156f0d3e3dc825629dc186c1da3b8bfdd70fdf2cfa4112e4110b85f64c0764e2b70d4af3760690861c615d6b7c1a75f2a69e3f1aa9ec707e4d54d0dd
7
- data.tar.gz: e17d98b3ec76b346e8418c07fb12185178fc24e90e6561cd34c11022676f7abf9e3a38f76b93393e74271c98bcffc30a452799905ee661066fbf23875b6744c9
6
+ metadata.gz: 2a092f7038dcf6ada9776771f2d61e81307e806969a00c3dc1ca96108cf9d20103e5f318f908c61ec64feb866ed1870801a111c60dfbf664a618cff3aab48186
7
+ data.tar.gz: caa998a9b5b5fddad183c38eb848ad0bfab157fe2be1fa7b866797effdea8ed21d3af7da23c943e94ed4ba340b24c905d313a7e152195ee683e3285ab29b4da4
@@ -1,4 +1,5 @@
1
1
  require 'fastlane_core/helper'
2
+ require 'fastlane/boolean'
2
3
 
3
4
  module Cert
4
5
  # Use this to just setup the configuration attribute and set it later somewhere else
@@ -8,6 +9,7 @@ module Cert
8
9
 
9
10
  Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
10
11
  UI = FastlaneCore::UI
12
+ Boolean = Fastlane::Boolean
11
13
  ROOT = Pathname.new(File.expand_path('../../..', __FILE__))
12
14
 
13
15
  ENV['FASTLANE_TEAM_ID'] ||= ENV["CERT_TEAM_ID"]
@@ -20,6 +20,12 @@ module Cert
20
20
  description: "Create a certificate even if an existing certificate exists",
21
21
  is_string: false,
22
22
  default_value: false),
23
+ FastlaneCore::ConfigItem.new(key: :generate_apple_certs,
24
+ env_name: "CERT_GENERATE_APPLE_CERTS",
25
+ description: "Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)",
26
+ type: Boolean,
27
+ default_value: FastlaneCore::Helper.mac? && FastlaneCore::Helper.xcode_at_least?('11'),
28
+ default_value_dynamic: true),
23
29
  FastlaneCore::ConfigItem.new(key: :username,
24
30
  short_option: "-u",
25
31
  env_name: "CERT_USERNAME",
@@ -134,19 +134,25 @@ module Cert
134
134
 
135
135
  # The kind of certificate we're interested in
136
136
  def certificate_type
137
- case Cert.config[:platform].to_s
138
- when 'ios', 'tvos'
139
- cert_type = Spaceship.certificate.production
140
- cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house?
141
- cert_type = Spaceship.certificate.development if Cert.config[:development]
142
-
143
- when 'macos'
144
- cert_type = Spaceship.certificate.mac_app_distribution
145
- cert_type = Spaceship.certificate.mac_development if Cert.config[:development]
146
-
137
+ # Check if apple certs (Xcode 11 and later) should be used
138
+ if Cert.config[:generate_apple_certs]
139
+ cert_type = Spaceship.certificate.apple_distribution
140
+ cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house? # Enterprise doesn't use Apple Distribution
141
+ cert_type = Spaceship.certificate.apple_development if Cert.config[:development]
142
+ else
143
+ case Cert.config[:platform].to_s
144
+ when 'ios', 'tvos'
145
+ cert_type = Spaceship.certificate.production
146
+ cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house?
147
+ cert_type = Spaceship.certificate.development if Cert.config[:development]
148
+
149
+ when 'macos'
150
+ cert_type = Spaceship.certificate.mac_app_distribution
151
+ cert_type = Spaceship.certificate.mac_development if Cert.config[:development]
152
+ end
147
153
  end
148
154
 
149
- cert_type
155
+ return cert_type
150
156
  end
151
157
 
152
158
  def create_certificate
@@ -16,7 +16,7 @@ module Fastlane
16
16
  # If any of the paths include "*", we assume that we are referring to the Unix entries
17
17
  # e.g /tmp/fastlane/* refers to all the files in /tmp/fastlane
18
18
  # We use Dir.glob to expand all those paths, this would create an array of arrays though, so flatten
19
- artifacts = artifacts_to_search.map { |f| f.include?("*") ? Dir.glob(f) : f }.flatten
19
+ artifacts = artifacts_to_search.flat_map { |f| f.include?("*") ? Dir.glob(f) : f }
20
20
 
21
21
  UI.verbose("Copying artifacts #{artifacts.join(', ')} to #{target_path}")
22
22
  UI.verbose(params[:keep_original] ? "Keeping original files" : "Not keeping original files")
@@ -45,7 +45,7 @@ module Fastlane
45
45
  end
46
46
  supported_platforms = all_platforms.select { |platform| self.is_supported?(platform.to_sym) }
47
47
 
48
- existing_devices = supported_platforms.map { |platform| Spaceship::Device.all(mac: platform == "mac") }.flatten
48
+ existing_devices = supported_platforms.flat_map { |platform| Spaceship::Device.all(mac: platform == "mac") }
49
49
 
50
50
  device_objs = new_devices.map do |device|
51
51
  next if existing_devices.map(&:udid).include?(device[0])
@@ -26,10 +26,15 @@ module Fastlane
26
26
  'you should turn off smart quotes in your editor of choice.')
27
27
  end
28
28
 
29
- content.scan(/^\s*require (.*)/).each do |current|
29
+ content.scan(/^\s*require ["'](.*?)["']/).each do |current|
30
30
  gem_name = current.last
31
31
  next if gem_name.include?(".") # these are local gems
32
- UI.important("You have required a gem, if this is a third party gem, please use `fastlane_require #{gem_name}` to ensure the gem is installed locally.")
32
+
33
+ begin
34
+ require(gem_name)
35
+ rescue LoadError
36
+ UI.important("You have required a gem, if this is a third party gem, please use `fastlane_require '#{gem_name}'` to ensure the gem is installed locally.")
37
+ end
33
38
  end
34
39
 
35
40
  parse(content, @path)
@@ -55,7 +55,7 @@ module Fastlane
55
55
 
56
56
  self.package_name = UI.input("Package Name (com.krausefx.app): ")
57
57
  puts("")
58
- puts("To automatically upload builds and metadata to Google Play, fastlane needs a service action json secret file".yellow)
58
+ puts("To automatically upload builds and metadata to Google Play, fastlane needs a service account json secret file".yellow)
59
59
  puts("Follow the Setup Guide on how to get the Json file: https://docs.fastlane.tools/actions/supply/".yellow)
60
60
  puts("Feel free to press Enter at any time in order to skip providing pieces of information when asked")
61
61
  self.json_key_file = UI.input("Path to the json secret file: ")
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.132.0.beta.20190929200020'.freeze
2
+ VERSION = '2.132.0.beta.20190930200026'.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
@@ -154,7 +154,7 @@ module FastlaneCore
154
154
  # As there was no communication from Apple, we don't know if this is a temporary
155
155
  # server outage, or something they changed without giving a heads-up
156
156
  if ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"].to_s.length == 0
157
- ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"] = "-t DAV"
157
+ ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"] = "-t DAV,Signiant"
158
158
  end
159
159
  return ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"]
160
160
  end
@@ -170,7 +170,6 @@ module FastlaneCore
170
170
  "-p #{shell_escaped_password(password)}",
171
171
  "-f \"#{source}\"",
172
172
  additional_upload_parameters, # that's here, because the user might overwrite the -t option
173
- "-t Signiant",
174
173
  "-k 100000",
175
174
  ("-WONoPause true" if Helper.windows?), # Windows only: process instantly returns instead of waiting for key press
176
175
  ("-itc_provider #{provider_short_name}" unless provider_short_name.to_s.empty?)
@@ -255,7 +254,6 @@ module FastlaneCore
255
254
  "-p #{password.shellescape}",
256
255
  "-f #{source.shellescape}",
257
256
  additional_upload_parameters, # that's here, because the user might overwrite the -t option
258
- '-t Signiant',
259
257
  '-k 100000',
260
258
  ("-itc_provider #{provider_short_name}" unless provider_short_name.to_s.empty?),
261
259
  '2>&1' # cause stderr to be written to stdout
@@ -11,6 +11,7 @@ module Match
11
11
 
12
12
  arguments = FastlaneCore::Configuration.create(Cert::Options.available_options, {
13
13
  development: params[:type] == "development",
14
+ generate_apple_certs: params[:generate_apple_certs],
14
15
  output_path: output_path,
15
16
  force: true, # we don't need a certificate without its private key, we only care about a new certificate
16
17
  username: params[:username],
@@ -1,8 +1,10 @@
1
1
  require 'fastlane_core/helper'
2
+ require 'fastlane/boolean'
2
3
 
3
4
  module Match
4
5
  Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
5
6
  UI = FastlaneCore::UI
7
+ Boolean = Fastlane::Boolean
6
8
  ROOT = Pathname.new(File.expand_path('../../..', __FILE__))
7
9
  DESCRIPTION = "Easily sync your certificates and profiles across your team"
8
10
 
@@ -100,7 +100,7 @@ module Match
100
100
  prov_types = [:enterprise] if cert_type == :enterprise
101
101
 
102
102
  Spaceship.login(params[:username])
103
- Spaceship.select_team
103
+ Spaceship.select_team(team_id: params[:team_id], team_name: params[:team_name])
104
104
 
105
105
  if Spaceship.client.in_house? && (type == "distribution" || type == "enterprise")
106
106
  UI.error("---")
@@ -112,7 +112,7 @@ module Match
112
112
  UI.user_error!("Enterprise account nuke cancelled") unless UI.confirm("Do you really want to nuke your Enterprise account?")
113
113
  end
114
114
 
115
- self.certs = certificate_type(cert_type).all
115
+ self.certs = certificate_type(cert_type).flat_map(&:all)
116
116
  self.profiles = []
117
117
  prov_types.each do |prov_type|
118
118
  self.profiles += profile_type(prov_type).all
@@ -241,9 +241,9 @@ module Match
241
241
  # The kind of certificate we're interested in
242
242
  def certificate_type(type)
243
243
  {
244
- distribution: Spaceship.certificate.production,
245
- development: Spaceship.certificate.development,
246
- enterprise: Spaceship.certificate.in_house
244
+ distribution: [Spaceship.certificate.production, Spaceship.certificate.apple_distribution],
245
+ development: [Spaceship.certificate.development, Spaceship.certificate.apple_development],
246
+ enterprise: [Spaceship.certificate.in_house]
247
247
  }[type] ||= raise "Unknown type '#{type}'"
248
248
  end
249
249
 
@@ -32,6 +32,12 @@ 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: :generate_apple_certs,
36
+ env_name: "MATCH_GENERATE_APPLE_CERTS",
37
+ description: "Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)",
38
+ type: Boolean,
39
+ default_value: FastlaneCore::Helper.mac? && FastlaneCore::Helper.xcode_at_least?('11'),
40
+ default_value_dynamic: true),
35
41
  FastlaneCore::ConfigItem.new(key: :skip_provisioning_profiles,
36
42
  env_name: "MATCH_SKIP_PROVISIONING_PROFILES",
37
43
  description: "Skip syncing provisioning profiles",
@@ -39,6 +39,7 @@ module Match
39
39
  clone_branch_directly: params[:clone_branch_directly],
40
40
  git_basic_authorization: params[:git_basic_authorization],
41
41
  type: params[:type].to_s,
42
+ generate_apple_certs: params[:generate_apple_certs],
42
43
  platform: params[:platform].to_s,
43
44
  google_cloud_bucket_name: params[:google_cloud_bucket_name].to_s,
44
45
  google_cloud_keys_file: params[:google_cloud_keys_file].to_s,
@@ -155,27 +155,35 @@ module Sigh
155
155
  case Sigh.config[:platform].to_s
156
156
  when 'ios', 'tvos'
157
157
  if profile_type == Spaceship.provisioning_profile.Development
158
- certificates = Spaceship.certificate.development.all
158
+ certificates = Spaceship.certificate.development.all +
159
+ Spaceship.certificate.apple_development.all
159
160
  elsif profile_type == Spaceship.provisioning_profile.InHouse
161
+ # Enterprise accounts don't have access to Apple Distribution certificates
160
162
  certificates = Spaceship.certificate.in_house.all
161
163
  # handles case where the desired certificate type is adhoc but the account is an enterprise account
162
164
  # the apple dev portal api has a weird quirk in it where if you query for distribution certificates
163
165
  # for enterprise accounts, you get nothing back even if they exist.
164
166
  elsif profile_type == Spaceship.provisioning_profile.AdHoc && Spaceship.client && Spaceship.client.in_house?
167
+ # Enterprise accounts don't have access to Apple Distribution certificates
165
168
  certificates = Spaceship.certificate.in_house.all
166
169
  else
167
- certificates = Spaceship.certificate.production.all # Ad hoc or App Store
170
+ # Ad hoc or App Store
171
+ certificates = Spaceship.certificate.production.all +
172
+ Spaceship.certificate.apple_distribution.all
168
173
  end
169
174
 
170
175
  when 'macos'
171
176
  if profile_type == Spaceship.provisioning_profile.Development
172
- certificates = Spaceship.certificate.mac_development.all
177
+ certificates = Spaceship.certificate.mac_development.all +
178
+ Spaceship.certificate.apple_development.all
173
179
  elsif profile_type == Spaceship.provisioning_profile.AppStore
174
- certificates = Spaceship.certificate.mac_app_distribution.all
180
+ certificates = Spaceship.certificate.mac_app_distribution.all +
181
+ Spaceship.certificate.apple_distribution.all
175
182
  elsif profile_type == Spaceship.provisioning_profile.Direct
176
183
  certificates = Spaceship.certificate.developer_id_application.all
177
184
  else
178
- certificates = Spaceship.certificate.mac_app_distribution.all
185
+ certificates = Spaceship.certificate.mac_app_distribution.all +
186
+ Spaceship.certificate.apple_distribution.all
179
187
  end
180
188
  end
181
189
 
@@ -190,7 +190,7 @@ module Snapshot
190
190
  hash[name] = ["No tests were executed"]
191
191
  else
192
192
  tests = Array(summary.data.first[:tests])
193
- hash[name] = tests.map { |test| Array(test[:failures]).map { |failure| failure[:failure_message] } }.flatten
193
+ hash[name] = tests.flat_map { |test| Array(test[:failures]).map { |failure| failure[:failure_message] } }
194
194
  end
195
195
  end
196
196
  end
@@ -32,7 +32,7 @@ module Spaceship
32
32
 
33
33
  def self.all(filter: {}, includes: nil, limit: nil, sort: nil)
34
34
  resps = Spaceship::ConnectAPI.get_apps(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
35
- return resps.map(&:to_models).flatten
35
+ return resps.flat_map(&:to_models)
36
36
  end
37
37
 
38
38
  def self.find(bundle_id)
@@ -54,7 +54,7 @@ module Spaceship
54
54
  filter[:apps] = id
55
55
 
56
56
  resps = Spaceship::ConnectAPI.get_beta_testers(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
57
- return resps.map(&:to_models).flatten
57
+ return resps.flat_map(&:to_models)
58
58
  end
59
59
 
60
60
  #
@@ -66,7 +66,7 @@ module Spaceship
66
66
  filter[:app] = id
67
67
 
68
68
  resps = Spaceship::ConnectAPI.get_builds(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
69
- return resps.map(&:to_models).flatten
69
+ return resps.flat_map(&:to_models)
70
70
  end
71
71
 
72
72
  def get_build_deliveries(filter: {}, includes: nil, limit: nil, sort: nil)
@@ -74,7 +74,7 @@ module Spaceship
74
74
  filter[:app] = id
75
75
 
76
76
  resps = Spaceship::ConnectAPI.get_build_deliveries(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
77
- return resps.map(&:to_models).flatten
77
+ return resps.flat_map(&:to_models)
78
78
  end
79
79
 
80
80
  def get_beta_app_localizations(filter: {}, includes: nil, limit: nil, sort: nil)
@@ -82,7 +82,7 @@ module Spaceship
82
82
  filter[:app] = id
83
83
 
84
84
  resps = Spaceship::ConnectAPI.get_beta_app_localizations(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
85
- return resps.map(&:to_models).flatten
85
+ return resps.flat_map(&:to_models)
86
86
  end
87
87
 
88
88
  def get_beta_groups(filter: {}, includes: nil, limit: nil, sort: nil)
@@ -90,7 +90,7 @@ module Spaceship
90
90
  filter[:app] = id
91
91
 
92
92
  resps = Spaceship::ConnectAPI.get_beta_groups(filter: filter, includes: includes, limit: limit, sort: sort).all_pages
93
- return resps.map(&:to_models).flatten
93
+ return resps.flat_map(&:to_models)
94
94
  end
95
95
  end
96
96
  end
@@ -109,7 +109,7 @@ module Spaceship
109
109
  sort: sort,
110
110
  limit: limit
111
111
  ).all_pages
112
- models = resps.map(&:to_models).flatten
112
+ models = resps.flat_map(&:to_models)
113
113
 
114
114
  # Filtering after models are fetched since there is no way to do this in a query param filter
115
115
  if platform
@@ -138,7 +138,7 @@ module Spaceship
138
138
  sort: sort,
139
139
  limit: limit
140
140
  ).all_pages
141
- return resps.map(&:to_models).flatten
141
+ return resps.flat_map(&:to_models)
142
142
  end
143
143
 
144
144
  def get_build_beta_details(filter: {}, includes: nil, limit: nil, sort: nil)
@@ -148,7 +148,7 @@ module Spaceship
148
148
  sort: sort,
149
149
  limit: limit
150
150
  ).all_pages
151
- return resps.map(&:to_models).flatten
151
+ return resps.flat_map(&:to_models)
152
152
  end
153
153
 
154
154
  def post_beta_app_review_submission
@@ -29,7 +29,7 @@ module Spaceship
29
29
  filter: { app: app_id, cfBundleShortVersionString: version, cfBundleVersion: build_number },
30
30
  limit: 1
31
31
  ).all_pages
32
- return resps.map(&:to_models).flatten
32
+ return resps.flat_map(&:to_models)
33
33
  end
34
34
  end
35
35
  end
@@ -35,7 +35,7 @@ module Spaceship
35
35
 
36
36
  def self.all(filter: {}, includes: nil, limit: nil, sort: nil)
37
37
  resps = Spaceship::ConnectAPI.get_bundle_ids(filter: filter, includes: includes).all_pages
38
- return resps.map(&:to_models).flatten
38
+ return resps.flat_map(&:to_models)
39
39
  end
40
40
 
41
41
  def self.get(bundle_id_id: nil, includes: nil)
@@ -41,7 +41,7 @@ module Spaceship
41
41
 
42
42
  def self.all(filter: {}, includes: nil, limit: nil, sort: nil)
43
43
  resps = Spaceship::ConnectAPI.get_certificates(filter: filter, includes: includes).all_pages
44
- return resps.map(&:to_models).flatten
44
+ return resps.flat_map(&:to_models)
45
45
  end
46
46
  end
47
47
  end
@@ -46,7 +46,7 @@ module Spaceship
46
46
 
47
47
  def self.all(filter: {}, includes: nil, limit: nil, sort: nil)
48
48
  resps = Spaceship::ConnectAPI.get_devices(filter: filter, includes: includes).all_pages
49
- return resps.map(&:to_models).flatten
49
+ return resps.flat_map(&:to_models)
50
50
  end
51
51
  end
52
52
  end
@@ -53,7 +53,7 @@ module Spaceship
53
53
 
54
54
  def self.all(filter: {}, includes: nil, limit: nil, sort: nil)
55
55
  resps = Spaceship::ConnectAPI.get_profiles(filter: filter, includes: includes).all_pages
56
- return resps.map(&:to_models).flatten
56
+ return resps.flat_map(&:to_models)
57
57
  end
58
58
  end
59
59
  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: 2.132.0.beta.20190929200020
4
+ version: 2.132.0.beta.20190930200026
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew McBurney
@@ -27,7 +27,7 @@ authors:
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2019-09-29 00:00:00.000000000 Z
30
+ date: 2019-09-30 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -1747,24 +1747,24 @@ metadata:
1747
1747
  post_install_message:
1748
1748
  rdoc_options: []
1749
1749
  require_paths:
1750
+ - frameit/lib
1750
1751
  - pilot/lib
1751
- - cert/lib
1752
- - match/lib
1753
- - fastlane/lib
1754
1752
  - produce/lib
1753
+ - sigh/lib
1755
1754
  - screengrab/lib
1756
- - fastlane_core/lib
1755
+ - fastlane/lib
1756
+ - pem/lib
1757
+ - gym/lib
1758
+ - deliver/lib
1759
+ - snapshot/lib
1757
1760
  - spaceship/lib
1761
+ - cert/lib
1758
1762
  - credentials_manager/lib
1759
- - deliver/lib
1760
1763
  - supply/lib
1764
+ - fastlane_core/lib
1761
1765
  - scan/lib
1762
- - snapshot/lib
1763
- - frameit/lib
1764
- - pem/lib
1766
+ - match/lib
1765
1767
  - precheck/lib
1766
- - sigh/lib
1767
- - gym/lib
1768
1768
  required_ruby_version: !ruby/object:Gem::Requirement
1769
1769
  requirements:
1770
1770
  - - ">="