deliver 0.2.2 → 0.3.0.beta1

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: bcb97cc2e8d7f978bd3b602965fbfb16db618d91
4
- data.tar.gz: d2fef3a68fc6442b52ebe35e15f627a269f477ab
3
+ metadata.gz: 8f2694dbdc4d25524009d0bf3459418214b5563b
4
+ data.tar.gz: 050c6f7a7fc6a09abe58ac76e889a471c01af977
5
5
  SHA512:
6
- metadata.gz: 918a55f5ddab112aed187542f88d5a89effad5c421d806121b096ad3bad00735bd834a395b612dc80b705d930c3ea984482fbf13754721def41499bdbbf1302f
7
- data.tar.gz: aef470479194e8b3172f6359df1dce7fd4290b77b057c2a03b8e656f24c3752136474f618df36fcfd5d46bb31df390874821fe34c4fcebef11270f1b80c4875b
6
+ metadata.gz: 8281a28fbd70379c12e45a85a52d6a0a8b3d96274b63a98b8c9f8e84a7645f0eb4cf7c1f6cad2d59487ae8d04b2d6068c66d3a8b6075c3c1531face9877bb92e
7
+ data.tar.gz: 9a7fd62fc4ad7fb3b0419734bb6cb6673c6a90a4160aa4c070df29dfcb7a354344bb45abcb434b052531f231cd429ab243f3f0a46e11a4c8951fb29a2f26aa15
data/README.md CHANGED
@@ -1,3 +1,9 @@
1
+ <p align="center">
2
+ <b>Deliver</b> &bull;
3
+ <a href="https://github.com/KrauseFx/snapshot">Snapshot</a>
4
+ </p>
5
+ -------
6
+
1
7
  <p align="center">
2
8
  <img src="assets/deliver.png">
3
9
  </p>
@@ -100,7 +106,9 @@ version "1.1"
100
106
 
101
107
  screenshots_path "./screenshots"
102
108
  ```
103
- The screenshots folder must include one subfolder per language (see [Available language codes](#available-language-codes))
109
+ The screenshots folder must include one subfolder per language (see [Available language codes](#available-language-codes)).
110
+
111
+ To let the computer create the screenshots for you, checkout [this section of the README](#automatically-create-screenshots).
104
112
 
105
113
  #### Upload a new ipa file with a changelog to the App Store
106
114
  This will submit a new update to Apple
@@ -253,7 +261,15 @@ You can use [SimulatorStatusMagic](https://github.com/shinydevelopment/Simulator
253
261
 
254
262
  You can easily create screenshots completely automatically in the background using [```snapshot```](https://github.com/KrauseFx/snapshot), the little brother of ```deliver```.
255
263
 
256
- ```Deliver``` automatically detects the device type of each screenshot based on its resolution.
264
+ **Getting started:**
265
+
266
+ - Run ```snapshot init``` in your project folder
267
+ - You can edit the new ```snapshot.js``` file with your UI Automation code
268
+ - Run ```snapshot``` to test if the screenshots work as expected
269
+
270
+ From now on, when you start ```deliver```, it will first create the new screenshots for you, which then will be uploaded to iTunes Connect.
271
+
272
+ More information about ```snapshot``` can be found on the [Snapshot GitHub page](https://github.com/KrauseFx/snapshot).
257
273
 
258
274
  ## Editing the ```Deliverfile```
259
275
  Change syntax highlighting to *Ruby*.
@@ -1,3 +1,5 @@
1
+ require 'snapshot'
2
+
1
3
  module Deliver
2
4
  # This class takes care of verifying all inputs and triggering the upload process
3
5
  class DeliverProcess
@@ -6,6 +8,10 @@ module Deliver
6
8
  class DeliverUnitTestsError < StandardError
7
9
  end
8
10
 
11
+ # DeliverUnitTestsError is triggered, when the unit tests of the given block failed.
12
+ class DeliverUIAutomationError < StandardError
13
+ end
14
+
9
15
  # @return (Deliver::App) The App that is currently being edited.
10
16
  attr_accessor :app
11
17
 
@@ -142,7 +148,22 @@ module Deliver
142
148
 
143
149
  def set_screenshots
144
150
  screens_path = @deploy_information[Deliverer::ValKey::SCREENSHOTS_PATH]
145
- if screens_path
151
+
152
+ # Check if there is a Snapfile
153
+ if File.exists?('./Snapfile')
154
+
155
+ Helper.log.info("Found a Snapfile, using it to create new screenshots.".green)
156
+ begin
157
+ Snapshot::Runner.new.work
158
+ @app.metadata.set_all_screenshots_from_path(screens_path) if screens_path
159
+ @app.metadata.set_all_screenshots_from_path('./screenshots')
160
+ rescue Exception => ex
161
+ # There were some UI Automation errors
162
+ raise DeliverUIAutomationError.new(ex)
163
+ end
164
+
165
+ elsif screens_path
166
+ # Not using Snapfile. Not a good user.
146
167
  if not @app.metadata.set_all_screenshots_from_path(screens_path)
147
168
  # This path does not contain folders for each language
148
169
  if screens_path.kind_of?String
@@ -133,7 +133,7 @@ module Deliver
133
133
  def fetch_info_plist_file
134
134
  Zip::File.open(@ipa_file.path) do |zipfile|
135
135
  zipfile.each do |file|
136
- if file.name.include?'.plist'
136
+ if file.name.include?'.plist' and not file.name.include?".bundle"
137
137
  # We can not be completely sure, that's the correct plist file, so we have to try
138
138
  begin
139
139
  # The XML file has to be properly unpacked first
@@ -1,3 +1,3 @@
1
1
  module Deliver
2
- VERSION = "0.2.2"
2
+ VERSION = "0.3.0.beta1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deliver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: snapshot
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.2.1
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.2.1
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: capybara
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -335,9 +349,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
335
349
  version: 2.0.0
336
350
  required_rubygems_version: !ruby/object:Gem::Requirement
337
351
  requirements:
338
- - - ">="
352
+ - - ">"
339
353
  - !ruby/object:Gem::Version
340
- version: '0'
354
+ version: 1.3.1
341
355
  requirements: []
342
356
  rubyforge_project:
343
357
  rubygems_version: 2.2.2