fastlane 2.71.0 → 2.71.1

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: 00a2f8d97ef033c9c37bc24b863747298bba5e99
4
- data.tar.gz: 319cefe69082028a5ad25cd046b0ba019d01df44
3
+ metadata.gz: 9a18901094e02127eedf279e25694d1d076a0921
4
+ data.tar.gz: de7f183b5c68cae0d45cff7427210c7a5480c149
5
5
  SHA512:
6
- metadata.gz: dbf8698aec404da0ce02c99d74851c5c5bcd77d842e53ec1c429200a09125980ad559454dc193b2e5860c7f1227a6f4a51c549c9f0dd40e1a3ac8d7776696ac1
7
- data.tar.gz: 7326b55760bae04ab0f69f622d1bb69b52d3adeefcf8f248c32e4505f1605130bf0f023b85297d5d140ded216f3bc90bc814df6397af15b9006b64ebab797070
6
+ metadata.gz: 2d36c30ebb69e9fe3c5aa3029681ea6283d98292004d56ad023b075ba0ef8368d40962e039d32f3bdc86b0d69efe8207c8a911041a8c8a09cba569b4b7b265ec
7
+ data.tar.gz: c8df134aa724dedf28e1fe74ea34048e7ba0e750db43a7d2387687b5b8acf781e0655adc6fec1db825aff4785cc7e59926eeb7d2d3b0b4022c558bb0eff3b669
@@ -15,7 +15,12 @@ module Fastlane
15
15
  def take_off
16
16
  before_import_time = Time.now
17
17
 
18
+ require "tty-spinner"
19
+
20
+ require_fastlane_spinner = TTY::Spinner.new("[:spinner] 🚀 ", format: :dots)
21
+ require_fastlane_spinner.auto_spin
18
22
  require "fastlane" # this might take a long time if there is no Gemfile :(
23
+ require_fastlane_spinner.success
19
24
 
20
25
  # We want to avoid printing output other than the version number if we are running `fastlane -v`
21
26
  unless running_version_command?
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.71.0'.freeze
2
+ VERSION = '2.71.1'.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
@@ -11,4 +11,4 @@ class Deliverfile: DeliverfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.70.3
14
+ // Generated with fastlane 2.71.0
@@ -11,4 +11,4 @@ class Gymfile: GymfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.70.3
14
+ // Generated with fastlane 2.71.0
@@ -11,4 +11,4 @@ class Matchfile: MatchfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.70.3
14
+ // Generated with fastlane 2.71.0
@@ -11,4 +11,4 @@ class Precheckfile: PrecheckfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.70.3
14
+ // Generated with fastlane 2.71.0
@@ -11,4 +11,4 @@ class Scanfile: ScanfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.70.3
14
+ // Generated with fastlane 2.71.0
@@ -11,4 +11,4 @@ class Screengrabfile: ScreengrabfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.70.3
14
+ // Generated with fastlane 2.71.0
@@ -11,4 +11,4 @@ class Snapshotfile: SnapshotfileProtocol {
11
11
 
12
12
 
13
13
 
14
- // Generated with fastlane 2.70.3
14
+ // Generated with fastlane 2.71.0
@@ -6,41 +6,6 @@ module FastlaneCore
6
6
 
7
7
  attr_accessor :raw_json
8
8
 
9
- # Returns a hash with the path being the key, and the value
10
- # defining if the tests were successful
11
- def self.auto_convert(config)
12
- FastlaneCore::PrintTable.print_values(config: config,
13
- title: "Summary for trainer #{Trainer::VERSION}")
14
-
15
- containing_dir = config[:path]
16
- files = Dir["#{containing_dir}/**/Logs/Test/*TestSummaries.plist"]
17
- files += Dir["#{containing_dir}/Test/*TestSummaries.plist"]
18
- files += Dir["#{containing_dir}/*TestSummaries.plist"]
19
- files += Dir[containing_dir] if containing_dir.end_with?(".plist") # if it's the exact path to a plist file
20
-
21
- if files.empty?
22
- UI.user_error!("No test result files found in directory '#{containing_dir}', make sure the file name ends with 'TestSummaries.plist'")
23
- end
24
-
25
- return_hash = {}
26
- files.each do |path|
27
- if config[:output_directory]
28
- FileUtils.mkdir_p(config[:output_directory])
29
- filename = File.basename(path).gsub(".plist", config[:extension])
30
- to_path = File.join(config[:output_directory], filename)
31
- else
32
- to_path = path.gsub(".plist", config[:extension])
33
- end
34
-
35
- tp = Trainer::TestParser.new(path)
36
- File.write(to_path, tp.to_junit)
37
- puts "Successfully generated '#{to_path}'"
38
-
39
- return_hash[to_path] = tp.tests_successful?
40
- end
41
- return_hash
42
- end
43
-
44
9
  def initialize(path)
45
10
  path = File.expand_path(path)
46
11
  UI.user_error!("File not found at path '#{path}'") unless File.exist?(path)
@@ -53,16 +18,6 @@ module FastlaneCore
53
18
  parse_content
54
19
  end
55
20
 
56
- # Returns the JUnit report as String
57
- def to_junit
58
- JunitGenerator.new(self.data).generate
59
- end
60
-
61
- # @return [Bool] were all tests successful? Is false if at least one test failed
62
- def tests_successful?
63
- self.data.collect { |a| a[:number_of_failures] }.all?(&:zero?)
64
- end
65
-
66
21
  private
67
22
 
68
23
  def ensure_file_valid!
@@ -30,6 +30,11 @@ module Gym
30
30
 
31
31
  config[:build_path] ||= archive_path_from_local_xcode_preferences
32
32
 
33
+ # Make sure the output name is valid and remove a trailing `.ipa` extension
34
+ # as it will be added by gym for free
35
+ config[:output_name].gsub!(".ipa", "")
36
+ config[:output_name].gsub!(File::SEPARATOR, "_")
37
+
33
38
  return config
34
39
  end
35
40
 
@@ -7,6 +7,7 @@ module Gym
7
7
  # We go 2 folders up, to not show "Contents/Developer/"
8
8
  values = Gym.config.values(ask: false)
9
9
  values[:xcode_path] = File.expand_path("../..", FastlaneCore::Helper.xcode_path)
10
+
10
11
  FastlaneCore::PrintTable.print_values(config: values,
11
12
  hide_keys: [],
12
13
  title: "Summary for gym #{Fastlane::VERSION}")
@@ -61,11 +61,7 @@ module Gym
61
61
  short_option: "-n",
62
62
  env_name: "GYM_OUTPUT_NAME",
63
63
  description: "The name of the resulting ipa file",
64
- optional: true,
65
- verify_block: proc do |value|
66
- value.gsub!(".ipa", "")
67
- value.gsub!(File::SEPARATOR, "_")
68
- end),
64
+ optional: true),
69
65
  FastlaneCore::ConfigItem.new(key: :configuration,
70
66
  short_option: "-q",
71
67
  env_name: "GYM_CONFIGURATION",
@@ -98,7 +98,7 @@ module Spaceship
98
98
  }
99
99
  }
100
100
  end
101
- raw_data.set(["subscriptions"], new_intervals)
101
+ raw_data.set(["pricingIntervals"], new_intervals)
102
102
  end
103
103
 
104
104
  # @return (Array) pricing intervals
@@ -112,7 +112,7 @@ module Spaceship
112
112
  # }
113
113
  # ]
114
114
  def pricing_intervals
115
- @pricing_intervals ||= raw_data["subscriptions"].map do |interval|
115
+ @pricing_intervals ||= raw_data["pricingIntervals"].map do |interval|
116
116
  {
117
117
  tier: interval["value"]["tierStem"].to_i,
118
118
  begin_date: interval["value"]["priceTierEffectiveDate"],
@@ -53,28 +53,14 @@ module Spaceship
53
53
  end
54
54
 
55
55
  def edit
56
- Tunes::IAPDetail.new(build_iap)
56
+ attrs = client.load_iap(app_id: application.apple_id, purchase_id: self.purchase_id)
57
+ attrs[:application] = application
58
+ Tunes::IAPDetail.new(attrs)
57
59
  end
58
60
 
59
61
  def delete!
60
62
  client.delete_iap!(app_id: application.apple_id, purchase_id: self.purchase_id)
61
63
  end
62
-
63
- private
64
-
65
- def build_iap
66
- attrs = [*iap_prices, *iap_details].to_h
67
- attrs[:application] = application
68
- attrs
69
- end
70
-
71
- def iap_prices
72
- client.load_iap_prices(app_id: application.apple_id, purchase_id: self.purchase_id)
73
- end
74
-
75
- def iap_details
76
- client.load_iap_details(app_id: application.apple_id, purchase_id: self.purchase_id)
77
- end
78
64
  end
79
65
  end
80
66
  end
@@ -534,7 +534,7 @@ module Spaceship
534
534
  end
535
535
 
536
536
  def price_tier(app_id)
537
- r = request(:get, "ra/apps/#{app_id}/pricing")
537
+ r = request(:get, "ra/apps/#{app_id}/pricing/intervals")
538
538
  data = parse_response(r, 'data')
539
539
 
540
540
  begin
@@ -1043,14 +1043,8 @@ module Spaceship
1043
1043
  handle_itc_response(r)
1044
1044
  end
1045
1045
 
1046
- # Loads the iap prices for specific product
1047
- def load_iap_prices(app_id: nil, purchase_id: nil)
1048
- r = request(:get, "ra/apps/#{app_id}/iaps/#{purchase_id}/pricing")
1049
- parse_response(r, 'data')
1050
- end
1051
-
1052
- # Loads iap full details
1053
- def load_iap_details(app_id: nil, purchase_id: nil)
1046
+ # Loads the full In-App-Purchases
1047
+ def load_iap(app_id: nil, purchase_id: nil)
1054
1048
  r = request(:get, "ra/apps/#{app_id}/iaps/#{purchase_id}")
1055
1049
  parse_response(r, 'data')
1056
1050
  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.71.0
4
+ version: 2.71.1
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-12-27 00:00:00.000000000 Z
18
+ date: 2017-12-30 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: slack-notifier
@@ -223,16 +223,42 @@ dependencies:
223
223
  name: tty-screen
224
224
  requirement: !ruby/object:Gem::Requirement
225
225
  requirements:
226
- - - "~>"
226
+ - - ">="
227
227
  - !ruby/object:Gem::Version
228
228
  version: 0.6.3
229
+ - - "<"
230
+ - !ruby/object:Gem::Version
231
+ version: 1.0.0
229
232
  type: :runtime
230
233
  prerelease: false
231
234
  version_requirements: !ruby/object:Gem::Requirement
232
235
  requirements:
233
- - - "~>"
236
+ - - ">="
234
237
  - !ruby/object:Gem::Version
235
238
  version: 0.6.3
239
+ - - "<"
240
+ - !ruby/object:Gem::Version
241
+ version: 1.0.0
242
+ - !ruby/object:Gem::Dependency
243
+ name: tty-spinner
244
+ requirement: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - ">="
247
+ - !ruby/object:Gem::Version
248
+ version: 0.7.0
249
+ - - "<"
250
+ - !ruby/object:Gem::Version
251
+ version: 1.0.0
252
+ type: :runtime
253
+ prerelease: false
254
+ version_requirements: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - ">="
257
+ - !ruby/object:Gem::Version
258
+ version: 0.7.0
259
+ - - "<"
260
+ - !ruby/object:Gem::Version
261
+ version: 1.0.0
236
262
  - !ruby/object:Gem::Dependency
237
263
  name: babosa
238
264
  requirement: !ruby/object:Gem::Requirement