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

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