deliver 1.10.5 → 1.11.0

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: e6b8ac013ccd637c9ff3d7161237108021a33827
4
- data.tar.gz: 0fbc35e73a5c534a76ea4aec0360872e3268fc95
3
+ metadata.gz: 28d4c96c447e6fa197da26c5875b766e8db879d6
4
+ data.tar.gz: 60a8a56302fd3e4655217d3948cb46da98af2939
5
5
  SHA512:
6
- metadata.gz: 3cf4ea501ff6f03b46551a484d9dcb2d4d0d8bf7f447fd5ab8ff6c3f095e22846ff60cc679abc195c93b937aaf3ca25c8816111b2b0477c6d2de0ddc56dafe7b
7
- data.tar.gz: 69799296c10b8923f467d6f884b386c3002b70e0c05a598278c939e0e68418d5c5b20383bfb2381196be9cb30a6f8240dfe7e1d324e2fa52615b2cdfecd2cfc3
6
+ metadata.gz: 74077b0423e8e794a887eba59c39e1c600cacdf8787e7a4606eb801a6a9957096c51136fddbd9a4d16465330cc1558ca0a4df0281f522369031b2fc2356d46dc
7
+ data.tar.gz: db28eab9cb88ac29c46f671e628b54e6bc4d53e6774b389656a7d5257eab5d7b773aa01469e41f43b2f3bbd55b500bb5631ae87c3fc191a33716baae25f60247
@@ -138,7 +138,7 @@
138
138
  <div class="app-keyword">
139
139
  <div class="cat-headline">Keywords</div>
140
140
  <ul class="app-keyword-list">
141
- <% @options[:keywords][language].split(" ").each do |keyword| %>
141
+ <% split_keywords(@options[:keywords][language]).each do |keyword| %>
142
142
  <li><%= keyword %></li>
143
143
  <% end %>
144
144
  </ul>
@@ -1,5 +1,10 @@
1
1
  module Deliver
2
2
  class HtmlGenerator
3
+ # Splits keywords supporting:
4
+ # * separated by commas (with optional whitespace)
5
+ # * separated by newlines
6
+ KEYWORD_SPLITTER = /(?:,\s?|\r?\n)/
7
+
3
8
  def run(options, screenshots)
4
9
  begin
5
10
  html_path = self.render(options, screenshots, '.')
@@ -45,5 +50,11 @@ module Deliver
45
50
 
46
51
  return export_path
47
52
  end
53
+
54
+ # Splits a string of keywords separated by comma or newlines into a presentable list
55
+ # @param keywords (String)
56
+ def split_keywords(keywords)
57
+ keywords.split(KEYWORD_SPLITTER)
58
+ end
48
59
  end
49
60
  end
@@ -31,12 +31,12 @@ module Deliver
31
31
  description: "Path to your ipa file",
32
32
  default_value: Dir["*.ipa"].first,
33
33
  verify_block: proc do |value|
34
- raise "Could not find ipa file at path '#{value}'".red unless File.exist?(value)
35
- raise "'#{value}' doesn't seem to be an ipa file".red unless value.end_with?(".ipa")
34
+ UI.user_error!("Could not find ipa file at path '#{value}'") unless File.exist?(value)
35
+ UI.user_error!("'#{value}' doesn't seem to be an ipa file") unless value.end_with?(".ipa")
36
36
  end,
37
37
  conflicting_options: [:pkg],
38
38
  conflict_block: proc do |value|
39
- raise "You can't use 'ipa' and '#{value.key}' options in one run.".red
39
+ UI.user_error!("You can't use 'ipa' and '#{value.key}' options in one run.")
40
40
  end),
41
41
  FastlaneCore::ConfigItem.new(key: :pkg,
42
42
  short_option: "-c",
@@ -45,12 +45,12 @@ module Deliver
45
45
  description: "Path to your pkg file",
46
46
  default_value: Dir["*.pkg"].first,
47
47
  verify_block: proc do |value|
48
- raise "Could not find pkg file at path '#{value}'".red unless File.exist?(value)
49
- raise "'#{value}' doesn't seem to be a pkg file".red unless value.end_with?(".pkg")
48
+ UI.user_error!("Could not find pkg file at path '#{value}'") unless File.exist?(value)
49
+ UI.user_error!("'#{value}' doesn't seem to be a pkg file") unless value.end_with?(".pkg")
50
50
  end,
51
51
  conflicting_options: [:ipa],
52
52
  conflict_block: proc do |value|
53
- raise "You can't use 'pkg' and '#{value.key}' options in one run.".red
53
+ UI.user_error!("You can't use 'pkg' and '#{value.key}' options in one run.")
54
54
  end),
55
55
  FastlaneCore::ConfigItem.new(key: :metadata_path,
56
56
  short_option: '-m',
@@ -100,7 +100,7 @@ module Deliver
100
100
  optional: true,
101
101
  conflicting_options: [:ipa, :pkg],
102
102
  conflict_block: proc do |value|
103
- raise "You can't use 'build_number' and '#{value.key}' options in one run.".red
103
+ UI.user_error!("You can't use 'build_number' and '#{value.key}' options in one run.")
104
104
  end),
105
105
  FastlaneCore::ConfigItem.new(key: :app_rating_config_path,
106
106
  short_option: "-g",
@@ -108,8 +108,8 @@ module Deliver
108
108
  is_string: true,
109
109
  optional: true,
110
110
  verify_block: proc do |value|
111
- raise "Could not find config file at path '#{value}'".red unless File.exist?(value)
112
- raise "'#{value}' doesn't seem to be a JSON file".red unless value.end_with?(".json")
111
+ UI.user_error!("Could not find config file at path '#{value}'") unless File.exist?(value)
112
+ UI.user_error!("'#{value}' doesn't seem to be a JSON file") unless value.end_with?(".json")
113
113
  end),
114
114
  FastlaneCore::ConfigItem.new(key: :submission_information,
115
115
  short_option: "-b",
@@ -143,16 +143,16 @@ module Deliver
143
143
  optional: true,
144
144
  short_option: "-l",
145
145
  verify_block: proc do |value|
146
- raise "Could not find png file at path '#{value}'".red unless File.exist?(value)
147
- raise "'#{value}' doesn't seem to be a png file".red unless value.end_with?(".png")
146
+ UI.user_error!("Could not find png file at path '#{value}'") unless File.exist?(value)
147
+ UI.user_error!("'#{value}' doesn't seem to be a png file") unless value.end_with?(".png")
148
148
  end),
149
149
  FastlaneCore::ConfigItem.new(key: :apple_watch_app_icon,
150
150
  description: "Metadata: The path to the Apple Watch app icon",
151
151
  optional: true,
152
152
  short_option: "-q",
153
153
  verify_block: proc do |value|
154
- raise "Could not find png file at path '#{value}'".red unless File.exist?(value)
155
- raise "'#{value}' doesn't seem to be a png file".red unless value.end_with?(".png")
154
+ UI.user_error!("Could not find png file at path '#{value}'") unless File.exist?(value)
155
+ UI.user_error!("'#{value}' doesn't seem to be a png file") unless value.end_with?(".png")
156
156
  end),
157
157
  FastlaneCore::ConfigItem.new(key: :copyright,
158
158
  description: "Metadata: The copyright notice",
@@ -75,17 +75,16 @@ module Deliver
75
75
 
76
76
  prefer_framed = Dir.glob(File.join(lng_folder, "*_framed.#{extensions}"), File::FNM_CASEFOLD).count > 0
77
77
 
78
+ UI.important("Framed screenshots are detected! 🖼 Non-framed screenshot files may be skipped. 🏃") if prefer_framed
79
+
78
80
  language = File.basename(lng_folder)
79
81
  files.each do |file_path|
80
- if file_path.downcase.include?("_framed.")
81
- # That's cool
82
- else
83
- if file_path.downcase.include?("watch")
84
- # Watch doesn't support frames (yet)
85
- else
86
- # That might not be cool... if that screenshot is not framed but we only want framed
87
- next if prefer_framed
88
- end
82
+ is_framed = file_path.downcase.include?("_framed.")
83
+ is_watch = file_path.downcase.include?("watch")
84
+
85
+ if prefer_framed && !is_framed && !is_watch
86
+ UI.important("🏃 Skipping screenshot file: #{file_path}")
87
+ next
89
88
  end
90
89
 
91
90
  screenshots << AppScreenshot.new(file_path, language)
@@ -1,4 +1,4 @@
1
1
  module Deliver
2
- VERSION = "1.10.5"
2
+ VERSION = "1.11.0"
3
3
  DESCRIPTION = 'Upload screenshots, metadata and your app to the App Store using a single command'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deliver
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.5
4
+ version: 1.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-16 00:00:00.000000000 Z
11
+ date: 2016-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.37.0
19
+ version: 0.41.2
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 1.0.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.37.0
29
+ version: 0.41.2
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.0.0
@@ -56,7 +56,7 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 0.19.0
59
+ version: 0.24.1
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
62
  version: 1.0.0
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 0.19.0
69
+ version: 0.24.1
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
72
  version: 1.0.0
@@ -140,6 +140,20 @@ dependencies:
140
140
  - - "~>"
141
141
  - !ruby/object:Gem::Version
142
142
  version: 3.1.0
143
+ - !ruby/object:Gem::Dependency
144
+ name: rspec_junit_formatter
145
+ requirement: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: 0.2.3
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - "~>"
155
+ - !ruby/object:Gem::Version
156
+ version: 0.2.3
143
157
  - !ruby/object:Gem::Dependency
144
158
  name: pry
145
159
  requirement: !ruby/object:Gem::Requirement
@@ -290,7 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
304
  version: '0'
291
305
  requirements: []
292
306
  rubyforge_project:
293
- rubygems_version: 2.2.2
307
+ rubygems_version: 2.4.5.1
294
308
  signing_key:
295
309
  specification_version: 4
296
310
  summary: Upload screenshots, metadata and your app to the App Store using a single