deliver 0.2.2 → 0.3.0.beta1

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