fastlane 2.124.0.beta.20190523200029 → 2.124.0.beta.20190524200022

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: 07c772089cc7712fd37e335592574b17d0f1aae4
4
- data.tar.gz: e2f8dcd85a2914689867ff5f42c4954c4b3f60ba
3
+ metadata.gz: 74e053811fdae3f9d7474a5dda9c6a5bfa813f66
4
+ data.tar.gz: c66849a756fa6552fb0c06be8fb6a2cfb606849b
5
5
  SHA512:
6
- metadata.gz: 3839c652ed3d390528e6252df709812c97489c2abe07515ab9dff597ae8cd8473b39dd165e16e64b86277d9c27d9586819da73643a00d580650ba81e030c854e
7
- data.tar.gz: 7ca743bd0892f0b9ebc7a4ada494d049b19bb5fa7f7375d2b1ee554c21a02f821b5ab775a4892f8daaafc9e0cc9f6f3d4c3f2b35d288b4066a33f9faa2710d5c
6
+ metadata.gz: dd4a8e48302d2dafec1080377424ce9573a2683d7c05dfa6274607a3a5ce6f1f52eb448b944bf38279928952c283dc9dfd271b44095adf2edefd4020e5d5a141
7
+ data.tar.gz: 73eb2b77bf11e6e26a2957fa10cad34a19e266ef6806b3a62c0e1eca4276ddc65447a52a615a0b194425a522ef6ad0bb7636555dd115aa4e210ea91428850fb2
@@ -303,6 +303,10 @@ Check out the [MindNode example project](https://github.com/fastlane/examples/tr
303
303
 
304
304
  Check out [_snapshot_](https://docs.fastlane.tools/actions/snapshot/) to automatically generate screenshots using ```UI Automation```.
305
305
 
306
+ ## Resume framing
307
+
308
+ Framing screenshots is a slow operation. In case you need to resume framing, or just frame a couple updated screenshots again, you can rely on the `--resume` flag. Only screenshots which have not been framed yet – or for which there isn't an up-to-date framed image – will be framed. This feature uses the file modification dates and will reframe screenshots if the screenshot is newer than the framed file.
309
+
306
310
  ## Upload screenshots
307
311
 
308
312
  Use [_deliver_](https://docs.fastlane.tools/actions/deliver/) to upload iOS screenshots to App Store Connect, or [_supply_](https://docs.fastlane.tools/actions/supply/) to upload Android screenshots to Play Store completely automatically 🚀
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.124.0.beta.20190523200029'.freeze
2
+ VERSION = '2.124.0.beta.20190524200022'.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
@@ -72,7 +72,7 @@ module Frameit
72
72
  private
73
73
 
74
74
  def store_result
75
- output_path = screenshot.path.gsub('.png', '_framed.png').gsub('.PNG', '_framed.png')
75
+ output_path = screenshot.output_path
76
76
  image.format("png")
77
77
  image.write(output_path)
78
78
  Helper.hide_loading_indicator
@@ -70,6 +70,11 @@ module Frameit
70
70
  env_name: "FRAMEIT_DEBUG_MODE",
71
71
  description: "Output debug information in framed screenshots",
72
72
  default_value: false,
73
+ type: Boolean),
74
+ FastlaneCore::ConfigItem.new(key: :resume,
75
+ env_name: "FRAMEIT_RESUME",
76
+ description: "Resume frameit instead of reprocessing all screenshots",
77
+ default_value: false,
73
78
  type: Boolean)
74
79
  ]
75
80
  end
@@ -26,22 +26,15 @@ module Frameit
26
26
 
27
27
  if screenshots.count > 0
28
28
  screenshots.each do |full_path|
29
- next if full_path.include?("_framed.png")
30
- next if full_path.include?(".itmsp/") # a package file, we don't want to modify that
31
- next if full_path.include?("device_frames/") # these are the device frames the user is using
32
- device = full_path.rpartition('/').last.partition('-').first # extract device name
33
- if device.downcase.include?("watch")
34
- UI.error("Apple Watch screenshots are not framed: '#{full_path}'")
35
- next # we don't care about watches right now
36
- end
29
+ next if skip_path?(full_path)
37
30
 
38
31
  begin
39
32
  screenshot = Screenshot.new(full_path, color)
40
- if screenshot.mac?
41
- editor = MacEditor.new(screenshot)
42
- else
43
- editor = Editor.new(screenshot, Frameit.config[:debug_mode])
44
- end
33
+
34
+ next if skip_up_to_date?(screenshot)
35
+
36
+ editor = editor(screenshot)
37
+
45
38
  if editor.should_skip?
46
39
  UI.message("Skipping framing of screenshot #{screenshot.path}. No title provided in your Framefile.json or title.strings.")
47
40
  else
@@ -57,5 +50,33 @@ module Frameit
57
50
  UI.error("Could not find screenshots in current directory: '#{File.expand_path(path)}'")
58
51
  end
59
52
  end
53
+
54
+ def skip_path?(path)
55
+ return true if path.include?("_framed.png")
56
+ return true if path.include?(".itmsp/") # a package file, we don't want to modify that
57
+ return true if path.include?("device_frames/") # these are the device frames the user is using
58
+ device = path.rpartition('/').last.partition('-').first # extract device name
59
+ if device.downcase.include?("watch")
60
+ UI.error("Apple Watch screenshots are not framed: '#{path}'")
61
+ return true # we don't care about watches right now
62
+ end
63
+ false
64
+ end
65
+
66
+ def skip_up_to_date?(screenshot)
67
+ if !screenshot.outdated? && Frameit.config[:resume]
68
+ UI.message("Skipping framing of screenshot #{screenshot.path} because its framed file seems up-to-date.")
69
+ return true
70
+ end
71
+ false
72
+ end
73
+
74
+ def editor(screenshot)
75
+ if screenshot.mac?
76
+ return MacEditor.new(screenshot)
77
+ else
78
+ return Editor.new(screenshot, Frameit.config[:debug_mode])
79
+ end
80
+ end
60
81
  end
61
82
  end
@@ -119,6 +119,17 @@ module Frameit
119
119
  return self.landscape_left? || self.landscape_right
120
120
  end
121
121
 
122
+ def output_path
123
+ path.gsub('.png', '_framed.png').gsub('.PNG', '_framed.png')
124
+ end
125
+
126
+ # If the framed screenshot was generated *before* the screenshot file,
127
+ # then we must be outdated.
128
+ def outdated?
129
+ return true unless File.exist?(output_path)
130
+ return File.mtime(path) > File.mtime(output_path)
131
+ end
132
+
122
133
  def to_s
123
134
  self.path
124
135
  end
@@ -162,7 +162,16 @@ module Supply
162
162
 
163
163
  aab_paths.each do |aab_path|
164
164
  UI.message("Preparing aab at path '#{aab_path}' for upload...")
165
- aab_version_codes.push(client.upload_bundle(aab_path))
165
+ bundle_version_code = client.upload_bundle(aab_path)
166
+
167
+ if metadata_path
168
+ all_languages.each do |language|
169
+ next if language.start_with?('.') # e.g. . or .. or hidden folders
170
+ upload_changelog(language, bundle_version_code)
171
+ end
172
+ end
173
+
174
+ aab_version_codes.push(bundle_version_code)
166
175
  end
167
176
 
168
177
  return aab_version_codes
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.124.0.beta.20190523200029
4
+ version: 2.124.0.beta.20190524200022
5
5
  platform: ruby
6
6
  authors:
7
7
  - Helmut Januschka
@@ -27,7 +27,7 @@ authors:
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2019-05-23 00:00:00.000000000 Z
30
+ date: 2019-05-24 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -1707,24 +1707,24 @@ metadata:
1707
1707
  post_install_message:
1708
1708
  rdoc_options: []
1709
1709
  require_paths:
1710
- - gym/lib
1711
- - credentials_manager/lib
1710
+ - deliver/lib
1712
1711
  - screengrab/lib
1713
- - cert/lib
1712
+ - credentials_manager/lib
1713
+ - match/lib
1714
+ - frameit/lib
1714
1715
  - produce/lib
1716
+ - scan/lib
1717
+ - pilot/lib
1718
+ - fastlane/lib
1715
1719
  - spaceship/lib
1720
+ - snapshot/lib
1721
+ - gym/lib
1722
+ - fastlane_core/lib
1716
1723
  - pem/lib
1717
- - supply/lib
1718
- - pilot/lib
1719
1724
  - precheck/lib
1720
- - match/lib
1721
- - fastlane_core/lib
1722
- - scan/lib
1723
- - fastlane/lib
1725
+ - cert/lib
1726
+ - supply/lib
1724
1727
  - sigh/lib
1725
- - frameit/lib
1726
- - snapshot/lib
1727
- - deliver/lib
1728
1728
  required_ruby_version: !ruby/object:Gem::Requirement
1729
1729
  requirements:
1730
1730
  - - ">="