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

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: 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
  - - ">="