fastlane 2.49.0.beta.20170726010003 → 2.49.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: d04b00f78d2701aa52d92880295801b94668b90b
4
- data.tar.gz: 2cf0b15d424699f1bb82ccde3863178383023843
3
+ metadata.gz: 0c5c381e61264ae25a5cfba6d7edbf480c8a9cd8
4
+ data.tar.gz: 11dd2bcdb58efdae3fbd9ebd03a71e8fb4d11d89
5
5
  SHA512:
6
- metadata.gz: bf52ba6c3ba67dd861d8069a664a62039b9554261a545f376573f53aca349c56fa88b9a19e2a74de8666677138ca4f681c4ab303bdb90a4262c119cfa14abbb7
7
- data.tar.gz: 92714f9e5119feee4af96e14be17efb3d466706349141456a4062ee2ab2f1db6c31863823fd5fead501728734910c855a8c950427ea4acb0c151670afdeab0a1
6
+ metadata.gz: 4a743fa1d2630708355d3cbb74ec96d4a600022d65409f9c5c1b3a1016e1cc729a0ac5334ad01fb0f26765f35f57dc8a01d05b82e8351512710f664bc7f92bec
7
+ data.tar.gz: 7bcb044b0c80e7a5dee29d816dd5f9657323bbbe700b5fab970abde6cd92aa232208c2fce549ca8dbcae5a817dc68759a24ee80ad2f7e422be6df05c35565719
@@ -28,5 +28,6 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency 'rspec'
29
29
  spec.add_development_dependency 'rake'
30
30
  spec.add_development_dependency 'rubocop'
31
+ spec.add_development_dependency 'simplecov'
31
32
  spec.add_development_dependency 'fastlane', '>= <%= Fastlane::VERSION %>'
32
33
  end
@@ -8,3 +8,4 @@ Gemfile.lock
8
8
  /rdoc/
9
9
  fastlane/README.md
10
10
  fastlane/report.xml
11
+ coverage
@@ -1,5 +1,10 @@
1
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
2
 
3
+ require 'simplecov'
4
+
5
+ # SimpleCov.minimum_coverage 95
6
+ SimpleCov.start
7
+
3
8
  # This module is only used to check the environment is currently a testing env
4
9
  module SpecHelper
5
10
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.49.0.beta.20170726010003'.freeze
2
+ VERSION = '2.49.0'.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
  end
@@ -98,15 +98,21 @@ module Gym
98
98
 
99
99
  bundle_identifier = current["PRODUCT_BUNDLE_IDENTIFIER"]
100
100
  provisioning_profile_specifier = current["PROVISIONING_PROFILE_SPECIFIER"]
101
- next if provisioning_profile_specifier.to_s.length == 0
102
-
103
- provisioning_profile_mapping[bundle_identifier] = provisioning_profile_specifier
101
+ provisioning_profile_uuid = current["PROVISIONING_PROFILE"]
102
+ if provisioning_profile_specifier.to_s.length > 0
103
+ provisioning_profile_mapping[bundle_identifier] = provisioning_profile_specifier
104
+ elsif provisioning_profile_uuid.to_s.length > 0
105
+ provisioning_profile_mapping[bundle_identifier] = provisioning_profile_uuid
106
+ end
104
107
  end
105
108
  end
106
109
  rescue => ex
107
110
  # We catch errors here, as we might run into an exception on one included project
108
111
  # But maybe the next project actually contains the information we need
109
112
  if Helper.xcode_at_least?("9.0")
113
+ UI.error("Couldn't automatically detect the provisioning profile mapping")
114
+ UI.error("Since Xcode 9 you need to provide an explicit mapping of what")
115
+ UI.error("provisioning profile to use for each target of your app")
110
116
  UI.error(ex)
111
117
  UI.verbose(ex.backtrace.join("\n"))
112
118
  end
@@ -94,6 +94,7 @@ module Gym
94
94
  print_full_log_path
95
95
  print_environment_information
96
96
  print_build_error_instructions
97
+ print_xcode9_plist_warning
97
98
  UI.build_failure!("Error packaging up the application", error_info: output)
98
99
  end
99
100
 
@@ -139,6 +140,21 @@ module Gym
139
140
  UI.important("📋 #{log_path}")
140
141
  end
141
142
 
143
+ def print_xcode9_plist_warning
144
+ return unless Helper.xcode_at_least?("9.0")
145
+
146
+ export_options = Gym.config[:export_options] || {}
147
+ provisioning_profiles = export_options[:provisioningProfiles] || []
148
+ if provisioning_profiles.count == 0
149
+ UI.error("Looks like no provisioning profile mapping was provided")
150
+ UI.error("Please check the complete output, in particular the very top")
151
+ UI.error("and see if you can find more information. You can also run fastlane")
152
+ UI.error("with the `--verbose` flag.")
153
+ UI.error("Alternatively you can provide the provisioning profile mapping manually")
154
+ UI.error("https://docs.fastlane.tools/codesigning/xcode-project/#xcode-9-and-up")
155
+ end
156
+ end
157
+
142
158
  def print_xcode_version
143
159
  # lots of the times, the user didn't set the correct Xcode version to their Xcode path
144
160
  # since many users don't look at the table of summary before running a tool, let's make
@@ -207,14 +223,14 @@ module Gym
207
223
  # the provisioning profile might be called anything below
208
224
  # There is no 100% good way to detect the profile type based on the name
209
225
  available_export_types = {
210
- "app-store" => :appstore,
211
- "app store" => :appstore,
212
- "appstore" => :appstore,
213
- "ad-hoc" => :adhoc,
214
- "adhoc" => :adhoc,
215
- "ad hoc" => :adhoc,
216
- "enterprise" => :enterprise,
217
- "development" => :development
226
+ "app-store" => "app-store",
227
+ "app store" => "app-store",
228
+ "appstore" => "app-store",
229
+ "ad-hoc" => "ad-hoc",
230
+ "adhoc" => "ad-hoc",
231
+ "ad hoc" => "ad-hoc",
232
+ "enterprise" => "enterprise",
233
+ "development" => "development"
218
234
  }
219
235
 
220
236
  selected_provisioning_profiles.each do |current_bundle_identifier, current_profile_name|
@@ -107,7 +107,7 @@ module Gym
107
107
  optional: true,
108
108
  verify_block: proc do |value|
109
109
  av = %w(app-store ad-hoc package enterprise development developer-id)
110
- UI.user_error!("Unsupported export_method, must be: #{av}") unless av.include?(value)
110
+ UI.user_error!("Unsupported export_method '#{value}', must be: #{av}") unless av.include?(value)
111
111
  end),
112
112
  FastlaneCore::ConfigItem.new(key: :export_options,
113
113
  env_name: "GYM_EXPORT_OPTIONS",
data/sigh/README.md CHANGED
@@ -120,6 +120,8 @@ To download all your provisioning profiles use
120
120
 
121
121
  fastlane sigh download_all
122
122
 
123
+ Optionally, use `fastlane sigh download_all --download_xcode_profiles` to also include the Xcode managed provisioning profiles
124
+
123
125
  For a list of available parameters and commands run
124
126
 
125
127
  fastlane sigh --help
@@ -60,11 +60,21 @@ module Sigh
60
60
  c.syntax = 'fastlane sigh download_all'
61
61
  c.description = 'Downloads all valid provisioning profiles'
62
62
 
63
+ c.option '--download_xcode_profiles', 'Only works with `fastlane sigh download_all` command: Also download Xcode managed provisioning profiles'
64
+
63
65
  FastlaneCore::CommanderGenerator.new.generate(Sigh::Options.available_options, command: c)
64
66
 
65
67
  c.action do |args, options|
66
- Sigh.config = FastlaneCore::Configuration.create(Sigh::Options.available_options, options.__hash__)
67
- Sigh::Manager.download_all
68
+ # Below is some custom code to get an extra flag that's only available
69
+ # for the `fastlane sigh download_all` command and not for the `sigh` action
70
+ user_hash = options.__hash__
71
+ download_xcode_profiles = options.download_xcode_profiles
72
+
73
+ if download_xcode_profiles == true
74
+ user_hash.delete(:download_xcode_profiles)
75
+ end
76
+ Sigh.config = FastlaneCore::Configuration.create(Sigh::Options.available_options, user_hash)
77
+ Sigh::Manager.download_all(download_xcode_profiles: download_xcode_profiles)
68
78
  end
69
79
  end
70
80
 
@@ -1,13 +1,13 @@
1
1
  module Sigh
2
2
  class DownloadAll
3
3
  # Download all valid provisioning profiles
4
- def download_all
4
+ def download_all(download_xcode_profiles: false)
5
5
  UI.message "Starting login with user '#{Sigh.config[:username]}'"
6
6
  Spaceship.login(Sigh.config[:username], nil)
7
7
  Spaceship.select_team
8
8
  UI.message "Successfully logged in"
9
9
 
10
- Spaceship.provisioning_profile.all.each do |profile|
10
+ Spaceship.provisioning_profile.all(xcode: download_xcode_profiles).each do |profile|
11
11
  if profile.valid?
12
12
  UI.message "Downloading profile '#{profile.name}'..."
13
13
  download_profile(profile)
@@ -15,6 +15,12 @@ module Sigh
15
15
  UI.important "Skipping invalid/expired profile '#{profile.name}'"
16
16
  end
17
17
  end
18
+
19
+ if download_xcode_profiles
20
+ UI.message("This run also included all Xcode managed provisioning profiles, as you used the `--download_xcode_profiles` flag")
21
+ else
22
+ UI.message("All Xcode managed provisioning profiles were ignored on this, to include them use the `--download_xcode_profiles` flag")
23
+ end
18
24
  end
19
25
 
20
26
  def download_profile(profile)
@@ -29,9 +29,9 @@ module Sigh
29
29
  return File.expand_path(output)
30
30
  end
31
31
 
32
- def self.download_all
32
+ def self.download_all(download_xcode_profiles: false)
33
33
  require 'sigh/download_all'
34
- DownloadAll.new.download_all
34
+ DownloadAll.new.download_all(download_xcode_profiles: download_xcode_profiles)
35
35
  end
36
36
 
37
37
  def self.install_profile(profile)
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.49.0.beta.20170726010003
4
+ version: 2.49.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -1398,24 +1398,24 @@ metadata:
1398
1398
  post_install_message:
1399
1399
  rdoc_options: []
1400
1400
  require_paths:
1401
- - spaceship/lib
1402
- - scan/lib
1403
- - sigh/lib
1404
- - snapshot/lib
1405
- - screengrab/lib
1406
- - fastlane/lib
1407
1401
  - cert/lib
1408
- - pem/lib
1409
- - gym/lib
1410
- - produce/lib
1402
+ - credentials_manager/lib
1411
1403
  - deliver/lib
1412
- - supply/lib
1413
- - match/lib
1404
+ - fastlane/lib
1405
+ - fastlane_core/lib
1414
1406
  - frameit/lib
1415
- - credentials_manager/lib
1407
+ - gym/lib
1408
+ - match/lib
1409
+ - pem/lib
1416
1410
  - pilot/lib
1417
1411
  - precheck/lib
1418
- - fastlane_core/lib
1412
+ - produce/lib
1413
+ - scan/lib
1414
+ - screengrab/lib
1415
+ - sigh/lib
1416
+ - snapshot/lib
1417
+ - spaceship/lib
1418
+ - supply/lib
1419
1419
  required_ruby_version: !ruby/object:Gem::Requirement
1420
1420
  requirements:
1421
1421
  - - ">="
@@ -1423,14 +1423,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
1423
1423
  version: 2.0.0
1424
1424
  required_rubygems_version: !ruby/object:Gem::Requirement
1425
1425
  requirements:
1426
- - - ">"
1426
+ - - ">="
1427
1427
  - !ruby/object:Gem::Version
1428
- version: 1.3.1
1428
+ version: '0'
1429
1429
  requirements: []
1430
1430
  rubyforge_project:
1431
- rubygems_version: 2.4.5.1
1431
+ rubygems_version: 2.6.8
1432
1432
  signing_key:
1433
1433
  specification_version: 4
1434
1434
  summary: The easiest way to automate beta deployments and releases for your iOS and
1435
1435
  Android apps
1436
1436
  test_files: []
1437
+ has_rdoc: