deliver 1.10.5 → 1.11.0

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