fastlane 2.19.0.beta.20170228010016 → 2.19.0.beta.20170301010932

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: 064f74308c52039deaa3a95b9f6f03b06911029e
4
- data.tar.gz: 665070e2c38b0bb3afde12905a037a784b03f0e5
3
+ metadata.gz: f5cffd6a2710fcc17f7d4d4059de64398c2cab5c
4
+ data.tar.gz: e1a0894b39d98e026f726b8209857d0eeb8426e3
5
5
  SHA512:
6
- metadata.gz: 1cae40fb551e891602895d66577c54088e81b229f5c9176834fd47668bae11300d1084985226040885eff30e32eca64603d51611ae3d5d52e48faa3b1cbfe082
7
- data.tar.gz: e739220beaa15fa07ba060c39619a616771f7b13d53819c0c00de2fc699d9d1e5ace41bf0071e7d232ed12b6a32f6cfe1ccb555198bc174d4ee693b4ff50fb36
6
+ metadata.gz: b4eeac0fbd7075935bc6e6b72a6ddcf258bd1698f6f941100b26aedc924b9b509e2ebd9067df64c95d83b7757ee3b365305a870c2b7dac7dd0c2f4ccc952eaa3
7
+ data.tar.gz: 922cba196e31c13b015a3a95250f31ce158e8cffc63407885327d426a35d9cac337b0258e2a3eb5e439dcbf0fbf2d95f193025100e52f1491d0840ebc8735d06
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '2.19.0.beta.20170228010016'.freeze
2
+ VERSION = '2.19.0.beta.20170301010932'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  end
data/pilot/README.md CHANGED
@@ -99,7 +99,7 @@ fastlane pilot upload --skip_submission
99
99
  - Automatically detects the bundle identifier from your `ipa` file
100
100
  - Automatically fetch the AppID of your app based on the bundle identifier
101
101
 
102
- `pilot` uses [spaceship](https://spaceship.airforce) to submit the build metadata and the iTunes Transporter to upload the binary.
102
+ `pilot` uses [spaceship](https://spaceship.airforce) to submit the build metadata and the iTunes Transporter to upload the binary. Because iTunes Transporter's upload capability is only supported on OS X, `pilot upload` does not work on Linux, as described [in this issue](https://github.com/fastlane/fastlane/issues/5789)
103
103
 
104
104
  ## List builds
105
105
 
@@ -24,6 +24,10 @@ module Spaceship
24
24
  @hash = hash || {}
25
25
  end
26
26
 
27
+ def key?(key)
28
+ @hash.key?(key)
29
+ end
30
+
27
31
  def get(*keys)
28
32
  lookup(keys)
29
33
  end
@@ -465,6 +465,24 @@ module Spaceship
465
465
  end
466
466
  end
467
467
 
468
+ ##
469
+ # this endpoint is used by Xcode to fetch provisioning profiles.
470
+ # The response is an xml plist but has the added benefit of containing the appId of each provisioning profile.
471
+ #
472
+ # Use this method over `provisioning_profiles` if possible because no secondary API calls are necessary to populate the ProvisioningProfile data model.
473
+ def provisioning_profiles_via_xcode_api(mac: false)
474
+ req = request(:post) do |r|
475
+ r.url "https://developerservices2.apple.com/services/#{PROTOCOL_VERSION}/#{platform_slug(mac)}/listProvisioningProfiles.action"
476
+ r.params = {
477
+ teamId: team_id,
478
+ includeInactiveProfiles: true,
479
+ onlyCountLists: true
480
+ }
481
+ end
482
+
483
+ parse_response(req, 'provisioningProfiles')
484
+ end
485
+
468
486
  def provisioning_profile_details(provisioning_profile_id: nil, mac: false)
469
487
  r = request(:post, "account/#{platform_slug(mac)}/profile/getProvisioningProfile.action", {
470
488
  teamId: team_id,
@@ -1,6 +1,9 @@
1
1
  module Spaceship
2
2
  module Portal
3
3
  # Represents a provisioning profile of the Apple Dev Portal
4
+ #
5
+ # NOTE: If the environment variable `SPACESHIP_AVOID_XCODE_API` is present when using this class, all requests will be made via Apple developer portal API.
6
+ # In the default case, this class will use the Xcode API for fetching provisioning profiles. This is an optimization that results in 1 query for all Profiles vs 1+N queries.
4
7
  class ProvisioningProfile < PortalBase
5
8
  # @return (String) The ID generated by the Dev Portal
6
9
  # You'll probably not really need this value
@@ -260,16 +263,19 @@ module Spaceship
260
263
  # If you're calling this from a subclass (like AdHoc), this will
261
264
  # only return the profiles that are of this type
262
265
  # @param mac (Bool) (optional): Pass true to get all Mac provisioning profiles
263
- # @param xcode DEPRECATED
266
+ # @param xcode (Bool) (optional): Pass true to include Xcode managed provisioning profiles
264
267
  def all(mac: false, xcode: false)
265
- profiles = client.provisioning_profiles(mac: mac).map do |profile|
266
- self.factory(profile)
268
+ if ENV['SPACESHIP_AVOID_XCODE_API']
269
+ profiles = client.provisioning_profiles(mac: mac)
270
+ else
271
+ profiles = client.provisioning_profiles_via_xcode_api(mac: mac)
267
272
  end
268
273
 
274
+ # transform raw data to class instances
275
+ profiles.map! { |profile| self.factory(profile) }
276
+
269
277
  # filter out the profiles managed by xcode
270
- if xcode
271
- warn('Apple API no longer returns XCode managed Provisioning Profiles')
272
- else
278
+ unless xcode
273
279
  profiles.delete_if(&:managed_by_xcode?)
274
280
  end
275
281
 
@@ -480,7 +486,13 @@ module Spaceship
480
486
  end
481
487
 
482
488
  def app
483
- App.set_client(client).new(profile_details['appId'])
489
+ if raw_data.key?('appId')
490
+ app_attributes = raw_data['appId']
491
+ else
492
+ app_attributes = profile_details['appId']
493
+ end
494
+
495
+ App.set_client(client).new(app_attributes)
484
496
  end
485
497
 
486
498
  # @return (Bool) Is this current provisioning profile adhoc?
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.19.0.beta.20170228010016
4
+ version: 2.19.0.beta.20170301010932
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2017-02-28 00:00:00.000000000 Z
17
+ date: 2017-03-01 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: slack-notifier
@@ -1294,23 +1294,23 @@ metadata: {}
1294
1294
  post_install_message:
1295
1295
  rdoc_options: []
1296
1296
  require_paths:
1297
- - pem/lib
1298
- - sigh/lib
1299
- - cert/lib
1300
- - snapshot/lib
1301
- - credentials_manager/lib
1302
- - pilot/lib
1297
+ - fastlane/lib
1298
+ - screengrab/lib
1303
1299
  - fastlane_core/lib
1304
- - frameit/lib
1305
1300
  - spaceship/lib
1301
+ - snapshot/lib
1302
+ - credentials_manager/lib
1303
+ - cert/lib
1304
+ - scan/lib
1306
1305
  - supply/lib
1307
- - deliver/lib
1308
- - screengrab/lib
1309
1306
  - match/lib
1307
+ - frameit/lib
1310
1308
  - gym/lib
1309
+ - pilot/lib
1310
+ - sigh/lib
1311
1311
  - produce/lib
1312
- - scan/lib
1313
- - fastlane/lib
1312
+ - pem/lib
1313
+ - deliver/lib
1314
1314
  required_ruby_version: !ruby/object:Gem::Requirement
1315
1315
  requirements:
1316
1316
  - - ">="