fastlane 2.28.9 → 2.29.0.beta.20170421010107

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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/deliver/lib/assets/summary.html.erb +0 -3
  4. data/deliver/lib/deliver/options.rb +2 -2
  5. data/deliver/lib/deliver/upload_metadata.rb +1 -2
  6. data/fastlane/README.md +2 -6
  7. data/fastlane/lib/fastlane/actions/artifactory.rb +1 -17
  8. data/fastlane/lib/fastlane/actions/crashlytics.rb +1 -1
  9. data/fastlane/lib/fastlane/actions/download_dsyms.rb +1 -1
  10. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +3 -17
  11. data/fastlane/lib/fastlane/actions/hockey.rb +1 -1
  12. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +3 -3
  13. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +10 -16
  14. data/fastlane/lib/fastlane/version.rb +1 -1
  15. data/fastlane_core/lib/fastlane_core/build_watcher.rb +21 -39
  16. data/fastlane_core/lib/fastlane_core/helper.rb +5 -7
  17. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +1 -4
  18. data/fastlane_core/lib/fastlane_core/print_table.rb +9 -4
  19. data/fastlane_core/lib/fastlane_core/project.rb +4 -16
  20. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +7 -11
  21. data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +2 -2
  22. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +0 -2
  23. data/fastlane_core/lib/fastlane_core/ui/ui.rb +2 -0
  24. data/gym/lib/gym/generators/build_command_generator.rb +0 -2
  25. data/gym/lib/gym/options.rb +0 -10
  26. data/gym/lib/gym/runner.rb +0 -2
  27. data/gym/lib/gym/xcode.rb +3 -1
  28. data/pilot/lib/pilot/build_manager.rb +17 -44
  29. data/pilot/lib/pilot/commands_generator.rb +1 -2
  30. data/pilot/lib/pilot/options.rb +2 -3
  31. data/pilot/lib/pilot/tester_manager.rb +44 -58
  32. data/snapshot/lib/assets/SnapshotHelper.swift +1 -1
  33. data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
  34. data/spaceship/lib/spaceship/test_flight.rb +0 -2
  35. data/spaceship/lib/spaceship/test_flight/base.rb +0 -12
  36. data/spaceship/lib/spaceship/test_flight/build.rb +8 -22
  37. data/spaceship/lib/spaceship/test_flight/client.rb +40 -121
  38. data/spaceship/lib/spaceship/test_flight/group.rb +7 -49
  39. data/spaceship/lib/spaceship/test_flight/test_info.rb +0 -4
  40. data/spaceship/lib/spaceship/tunes/app_ratings.rb +2 -74
  41. data/spaceship/lib/spaceship/tunes/app_status.rb +2 -4
  42. data/spaceship/lib/spaceship/tunes/application.rb +1 -1
  43. data/spaceship/lib/spaceship/tunes/iap_detail.rb +11 -48
  44. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +5 -24
  45. data/spaceship/lib/spaceship/tunes/tunes_client.rb +3 -14
  46. data/supply/lib/supply/setup.rb +2 -2
  47. metadata +16 -33
  48. data/spaceship/lib/spaceship/test_flight/app_test_info.rb +0 -27
  49. data/spaceship/lib/spaceship/test_flight/tester.rb +0 -34
@@ -70,43 +70,6 @@ module Spaceship
70
70
  return parsed_versions
71
71
  end
72
72
 
73
- # transforms user-set versions to iTC ones
74
- def versions=(value = {})
75
- if value.kind_of?(Array)
76
- # input that comes from iTC api
77
- return
78
- end
79
- new_versions = []
80
- value.each do |language, current_version|
81
- new_versions << {
82
- "value" => {
83
- "name" => { "value" => current_version[:name] },
84
- "description" => { "value" => current_version[:description] },
85
- "localeCode" => language.to_s
86
- }
87
- }
88
- end
89
-
90
- raw_data.set(["versions"], [{ reviewNotes: { value: @review_notes }, contentHosting: raw_data['versions'].first['contentHosting'], "details" => { "value" => new_versions }, "id" => raw_data["versions"].first["id"] }])
91
- end
92
-
93
- # transforms user-set intervals to iTC ones
94
- def pricing_intervals=(value = [])
95
- new_intervals = []
96
- value.each do |current_interval|
97
- new_intervals << {
98
- "value" => {
99
- "tierStem" => current_interval[:tier],
100
- "priceTierEndDate" => current_interval[:end_date],
101
- "priceTierEffectiveDate" => current_interval[:begin_date],
102
- "grandfathered" => current_interval[:grandfathered],
103
- "country" => current_interval[:country]
104
- }
105
- }
106
- end
107
- raw_data.set(["pricingIntervals"], new_intervals)
108
- end
109
-
110
73
  # @return (Array) pricing intervals
111
74
  # @example:
112
75
  # [
@@ -147,26 +110,26 @@ module Spaceship
147
110
  versions_array = []
148
111
  versions.each do |language, value|
149
112
  versions_array << {
150
- "value" => {
151
- "description" => { "value" => value[:description] },
152
- "name" => { "value" => value[:name] },
153
- "localeCode" => language.to_s
113
+ value: {
114
+ description: { value: value[:description] },
115
+ name: { value: value[:name] },
116
+ localeCode: language.to_s
154
117
  }
155
118
  }
156
119
  end
157
120
 
158
- raw_data.set(["versions"], [{ reviewNotes: { value: @review_notes }, contentHosting: raw_data['versions'].first[:contentHosting], "details" => { "value" => versions_array }, id: raw_data["versions"].first["id"] }])
121
+ raw_data.set(["versions"], [{ reviewNotes: @review_notes, details: { value: versions_array } }])
159
122
 
160
123
  # transform pricingDetails
161
124
  intervals_array = []
162
125
  pricing_intervals.each do |interval|
163
126
  intervals_array << {
164
- "value" => {
165
- "tierStem" => interval[:tier],
166
- "priceTierEffectiveDate" => interval[:begin_date],
167
- "priceTierEndDate" => interval[:end_date],
168
- "country" => interval[:country] || "WW",
169
- "grandfathered" => interval[:grandfathered]
127
+ value: {
128
+ tierStem: interval[:tier],
129
+ priceTierEffectiveDate: interval[:begin_date],
130
+ priceTierEndDate: interval[:end_date],
131
+ country: interval[:country] || "WW",
132
+ grandfathered: interval[:grandfathered]
170
133
  }
171
134
  }
172
135
  end
@@ -22,25 +22,6 @@ module Spaceship
22
22
  end
23
23
  end
24
24
 
25
- def versions=(value = {})
26
- if value.kind_of?(Array)
27
- # input that comes from iTC api
28
- return
29
- end
30
- new_versions = []
31
- value.each do |language, current_version|
32
- new_versions << {
33
- "value" => {
34
- "subscriptionName" => { "value" => current_version[:subscription_name] },
35
- "name" => { "value" => current_version[:name] },
36
- "localeCode" => { "value" => language }
37
- }
38
- }
39
- end
40
-
41
- raw_data.set(["details"], { "value" => new_versions })
42
- end
43
-
44
25
  # @return (Hash) localized names
45
26
  def versions
46
27
  parsed_versions = {}
@@ -61,15 +42,15 @@ module Spaceship
61
42
  versions_array = []
62
43
  versions.each do |language_code, value|
63
44
  versions_array << {
64
- "value" => {
65
- "subscriptionName" => { "value" => value[:subscription_name] },
66
- "name" => { "value" => value[:name] },
67
- "localeCode" => { "value" => language_code.to_s }
45
+ value: {
46
+ subscriptionName: { value: value[:subscription_name] },
47
+ name: { value: value[:name] },
48
+ localeCode: { value: language_code.to_s }
68
49
  }
69
50
  }
70
51
  end
71
52
 
72
- raw_data.set(["details"], { "value" => versions_array })
53
+ raw_data.set(["details"], { value: versions_array })
73
54
 
74
55
  client.update_iap_family!(app_id: application.apple_id, family_id: self.family_id, data: raw_data)
75
56
  end
@@ -265,7 +265,7 @@ module Spaceship
265
265
  # @param bundle_id (String): The bundle ID must match the one you used in Xcode. It
266
266
  # can't be changed after you submit your first build.
267
267
  def create_application!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil)
268
- puts "The `version` parameter is deprecated. Use `Spaceship::Tunes::Application.ensure_version!` method instead" if version
268
+ UI.deprecated("The `version` parameter is deprecated. Use `Spaceship::Tunes::Application.ensure_version!` method instead") if version
269
269
 
270
270
  # First, we need to fetch the data from Apple, which we then modify with the user's values
271
271
  primary_language ||= "English"
@@ -324,19 +324,8 @@ module Spaceship
324
324
  end
325
325
 
326
326
  def get_reviews(app_id, platform, storefront, versionId = '')
327
- index = 0
328
- per_page = 100 # apple default
329
- all_reviews = []
330
- loop do
331
- r = request(:get, "ra/apps/#{app_id}/platforms/#{platform}/reviews?storefront=#{storefront}&versionId=#{versionId}&index=#{index}")
332
- all_reviews.concat(parse_response(r, 'data')['reviews'])
333
- if all_reviews.count < parse_response(r, 'data')['reviewCount']
334
- index += per_page
335
- else
336
- break
337
- end
338
- end
339
- all_reviews
327
+ r = request(:get, "ra/apps/#{app_id}/reviews?platform=#{platform}&storefront=#{storefront}&versionId=#{versionId}")
328
+ parse_response(r, 'data')['reviews']
340
329
  end
341
330
 
342
331
  #####################################################
@@ -44,7 +44,7 @@ module Supply
44
44
  IMAGES_TYPES.each do |image_type|
45
45
  if ['featureGraphic'].include?(image_type)
46
46
  # we don't get all files in full resolution :(
47
- UI.message("Due to a limitation of the Google Play API, there is no way for `supply` to download your existing feature graphics. Please copy your feature graphics into `metadata/android/en-US/images/`")
47
+ UI.message("Due to the limit of the Google Play API `supply` can't download your existing feature graphics...")
48
48
  next
49
49
  end
50
50
 
@@ -71,7 +71,7 @@ module Supply
71
71
  FileUtils.mkdir_p(File.join(containing, IMAGES_FOLDER_NAME, screenshot_type))
72
72
  end
73
73
 
74
- UI.message("Due to a limitation of the Google Play API, there is no way for `supply` to download your existing screenshots. Please copy your screenshots into `metadata/android/en-US/images/`")
74
+ UI.message("Due to the limit of the Google Play API `supply` can't download your existing screenshots...")
75
75
  end
76
76
 
77
77
  def store_apk_listing(apk_listing)
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.28.9
4
+ version: 2.29.0.beta.20170421010107
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2017-05-05 00:00:00.000000000 Z
18
+ date: 2017-04-21 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: slack-notifier
@@ -743,20 +743,6 @@ dependencies:
743
743
  - - "~>"
744
744
  - !ruby/object:Gem::Version
745
745
  version: 0.8.1
746
- - !ruby/object:Gem::Dependency
747
- name: sinatra
748
- requirement: !ruby/object:Gem::Requirement
749
- requirements:
750
- - - "~>"
751
- - !ruby/object:Gem::Version
752
- version: 1.4.8
753
- type: :development
754
- prerelease: false
755
- version_requirements: !ruby/object:Gem::Requirement
756
- requirements:
757
- - - "~>"
758
- - !ruby/object:Gem::Version
759
- version: 1.4.8
760
746
  description: The easiest way to automate beta deployments and releases for your iOS
761
747
  and Android apps
762
748
  email:
@@ -1285,7 +1271,6 @@ files:
1285
1271
  - spaceship/lib/spaceship/portal/website_push.rb
1286
1272
  - spaceship/lib/spaceship/spaceauth_runner.rb
1287
1273
  - spaceship/lib/spaceship/test_flight.rb
1288
- - spaceship/lib/spaceship/test_flight/app_test_info.rb
1289
1274
  - spaceship/lib/spaceship/test_flight/base.rb
1290
1275
  - spaceship/lib/spaceship/test_flight/beta_review_info.rb
1291
1276
  - spaceship/lib/spaceship/test_flight/build.rb
@@ -1294,7 +1279,6 @@ files:
1294
1279
  - spaceship/lib/spaceship/test_flight/export_compliance.rb
1295
1280
  - spaceship/lib/spaceship/test_flight/group.rb
1296
1281
  - spaceship/lib/spaceship/test_flight/test_info.rb
1297
- - spaceship/lib/spaceship/test_flight/tester.rb
1298
1282
  - spaceship/lib/spaceship/tunes/app_details.rb
1299
1283
  - spaceship/lib/spaceship/tunes/app_image.rb
1300
1284
  - spaceship/lib/spaceship/tunes/app_ratings.rb
@@ -1357,23 +1341,23 @@ metadata:
1357
1341
  post_install_message:
1358
1342
  rdoc_options: []
1359
1343
  require_paths:
1360
- - cert/lib
1361
- - credentials_manager/lib
1344
+ - frameit/lib
1362
1345
  - deliver/lib
1363
- - fastlane/lib
1346
+ - supply/lib
1347
+ - cert/lib
1348
+ - screengrab/lib
1364
1349
  - fastlane_core/lib
1365
- - frameit/lib
1366
- - gym/lib
1367
1350
  - match/lib
1368
- - pem/lib
1369
- - pilot/lib
1370
- - produce/lib
1351
+ - snapshot/lib
1352
+ - gym/lib
1353
+ - credentials_manager/lib
1371
1354
  - scan/lib
1372
- - screengrab/lib
1355
+ - produce/lib
1373
1356
  - sigh/lib
1374
- - snapshot/lib
1357
+ - fastlane/lib
1375
1358
  - spaceship/lib
1376
- - supply/lib
1359
+ - pem/lib
1360
+ - pilot/lib
1377
1361
  required_ruby_version: !ruby/object:Gem::Requirement
1378
1362
  requirements:
1379
1363
  - - ">="
@@ -1381,15 +1365,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1381
1365
  version: 2.0.0
1382
1366
  required_rubygems_version: !ruby/object:Gem::Requirement
1383
1367
  requirements:
1384
- - - ">="
1368
+ - - ">"
1385
1369
  - !ruby/object:Gem::Version
1386
- version: '0'
1370
+ version: 1.3.1
1387
1371
  requirements: []
1388
1372
  rubyforge_project:
1389
- rubygems_version: 2.5.2
1373
+ rubygems_version: 2.4.5.2
1390
1374
  signing_key:
1391
1375
  specification_version: 4
1392
1376
  summary: The easiest way to automate beta deployments and releases for your iOS and
1393
1377
  Android apps
1394
1378
  test_files: []
1395
- has_rdoc:
@@ -1,27 +0,0 @@
1
- module Spaceship::TestFlight
2
- class AppTestInfo < Base
3
- # AppTestInfo wraps a test_info and beta_review_info in the format required to manage test_info
4
- # for an application. Note that this structure, although looking similar to build test_info
5
- # is test information about the application
6
-
7
- attr_accessor :test_info
8
-
9
- def self.find(app_id: nil)
10
- raw_app_test_info = client.get_app_test_info(app_id: app_id)
11
- self.new(raw_app_test_info)
12
- end
13
-
14
- def test_info
15
- Spaceship::TestFlight::TestInfo.new(raw_data['details'])
16
- end
17
-
18
- def test_info=(value)
19
- raw_data.set(['details'], value.raw_data)
20
- end
21
-
22
- # saves the changes to the App Test Info object to TestFlight
23
- def save_for_app!(app_id: nil)
24
- client.put_app_test_info(app_id: app_id, app_test_info: self)
25
- end
26
- end
27
- end
@@ -1,34 +0,0 @@
1
- module Spaceship::TestFlight
2
- class Tester < Base
3
- # @return (String) The identifier of this tester, provided by iTunes Connect
4
- # @example
5
- # "60f858b4-60a8-428a-963a-f943a3d68d17"
6
- attr_accessor :tester_id
7
-
8
- # @return (String) The email of this tester
9
- # @example
10
- # "tester@spaceship.com"
11
- attr_accessor :email
12
-
13
- attr_mapping(
14
- 'id' => :tester_id,
15
- 'email' => :email
16
- )
17
-
18
- # @return (Array) Returns all beta testers available for this account
19
- def self.all(app_id: nil)
20
- client.testers_for_app(app_id: app_id).map { |data| self.new(data) }
21
- end
22
-
23
- # @return (Spaceship::TestFlight::Tester) Returns the tester matching the parameter
24
- # as either the Tester id or email
25
- # @param email (String) (required): Value used to filter the tester, case insensitive
26
- def self.find(app_id: nil, email: nil)
27
- self.all(app_id: app_id).find { |tester| tester.email == email }
28
- end
29
-
30
- def remove_from_app!(app_id: nil)
31
- client.delete_tester_from_app(app_id: app_id, tester_id: self.tester_id)
32
- end
33
- end
34
- end