deliver 0.9.0.pre → 0.9.0.pre2
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 +4 -4
- data/README.md +9 -20
- data/bin/deliver +3 -0
- data/lib/assets/DeliverfileDefault +21 -56
- data/lib/assets/DeliverfileExample +22 -54
- data/lib/deliver/deliver_process.rb +2 -0
- data/lib/deliver/deliverfile/deliverfile_creator.rb +5 -2
- data/lib/deliver/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbb3cf4785750f0e7da41a6e530de252562c5ebb
|
4
|
+
data.tar.gz: 0c9586db31a2f63b1b747c705f2d041ae443ea5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f9fe6e20a9951fd3e4a1485d7fac7472b4bbba87da747deb7a812c1bb522bdda4a234ca74f99b232a34689b080c6abb0d56e25278952233208a5ce9280ca895
|
7
|
+
data.tar.gz: e9cdc4647a9eccea4b9e9f531315c7d069c5d156b094485c43d0ea7a0cfdf54d6be9b643f6eaeafd65133b36f77d5e088ba0c851fdaf664dda49189a7edaf973
|
data/README.md
CHANGED
@@ -168,6 +168,10 @@ To let the computer create the screenshots for you, checkout [this section of th
|
|
168
168
|
|
169
169
|
If you want to have the screenshots inside a device frame, with a background and a fancy label on top, you can use [Sketch to App Store](http://sketchtoappstore.com/).
|
170
170
|
|
171
|
+
#### Update App description, keywords and more
|
172
|
+
|
173
|
+
If you used `deliver init`, take a look at the `./metadata/` folder, which contains your app description, keywords and app title. If you change the content of the files, it will get updated when you run `deliver`.
|
174
|
+
|
171
175
|
#### Upload a new ipa file with a changelog to the App Store
|
172
176
|
This will submit a new update to Apple
|
173
177
|
```ruby
|
@@ -185,6 +189,8 @@ If you wish to skip automated submission to review you can provide `--skip-deplo
|
|
185
189
|
|
186
190
|
The changelog is only used for App Store submission, not for TestFlight builds.
|
187
191
|
|
192
|
+
It is recommended to use `deliver` in combination with [fastlane](https://github.com/KrauseFx/fastlane) to build the app using `xcodebuild`.
|
193
|
+
|
188
194
|
#### Upload a new ipa for TestFlight beta testers
|
189
195
|
|
190
196
|
In order to upload an `.ipa` file for Apple TestFlight you need to specify `beta_ipa` path in your `Deliverfile`
|
@@ -218,24 +224,6 @@ error do |information|
|
|
218
224
|
end
|
219
225
|
```
|
220
226
|
|
221
|
-
|
222
|
-
#### Set a default language if you only maintain one language
|
223
|
-
```ruby
|
224
|
-
default_language "en-US"
|
225
|
-
version "1.2"
|
226
|
-
|
227
|
-
title "Only English Title"
|
228
|
-
```
|
229
|
-
If you do not pass an ipa file, you have to specify the app version you want to edit.
|
230
|
-
|
231
|
-
#### Update the app's keywords
|
232
|
-
```ruby
|
233
|
-
default_language "de-DE"
|
234
|
-
version "1.2"
|
235
|
-
|
236
|
-
keywords ["keyword1", "something", "else"]
|
237
|
-
```
|
238
|
-
|
239
227
|
#### Read content from somewhere external (file, web service, ...)
|
240
228
|
```ruby
|
241
229
|
description({
|
@@ -275,8 +263,9 @@ All available commands with a short description can be found in [Deliverfile.md]
|
|
275
263
|
- Ask the script user for a changelog
|
276
264
|
- Deploy a new version just by starting a Jenkins job
|
277
265
|
- Post the deployment status on Slack
|
278
|
-
- Upload the latest screenshots
|
279
|
-
|
266
|
+
- Upload the latest screenshots to your server
|
267
|
+
|
268
|
+
For further actions, check out [fastlane](https://github.com/KrauseFx/fastlane)
|
280
269
|
|
281
270
|
#### Use the exposed Ruby classes
|
282
271
|
Some examples:
|
data/bin/deliver
CHANGED
@@ -46,9 +46,12 @@ class FastlaneApplication
|
|
46
46
|
|
47
47
|
command :init do |c|
|
48
48
|
c.syntax = 'deliver init'
|
49
|
+
c.option '-u', '--username String', String, 'Your Apple ID'
|
49
50
|
c.description = "Creates a new Deliverfile in the current directory"
|
50
51
|
|
51
52
|
c.action do |args, options|
|
53
|
+
set_username(options.username)
|
54
|
+
|
52
55
|
path = (Deliver::Helper.fastlane_enabled?? './fastlane' : '.')
|
53
56
|
Deliver::DeliverfileCreator.create(path)
|
54
57
|
end
|
@@ -1,65 +1,30 @@
|
|
1
|
-
|
2
|
-
#
|
1
|
+
###################### App Metadata ######################
|
2
|
+
# Update the app description and metadata in the ./metadata folder
|
3
3
|
|
4
|
-
|
4
|
+
###################### Screenshots ######################
|
5
|
+
# Store all screenshots in the ./screenshots folder separated
|
6
|
+
# by language. If you use snapshot, this happens automatically
|
5
7
|
|
8
|
+
###################### IPA File ######################
|
9
|
+
# This part is only relevant, if you want to submit a new binary
|
10
|
+
# If you don't use fastlane (https://github.com/KrauseFx/fastlane)
|
11
|
+
# you can set the path to your ipa file using:
|
12
|
+
# ipa './app.ip'
|
6
13
|
|
7
|
-
|
8
|
-
#
|
9
|
-
########################################
|
14
|
+
# to provide an ipa file for TestFlight distribution, use beta_ipa
|
15
|
+
# beta_ipa './app.ip'
|
10
16
|
|
17
|
+
# The version of your app - remove this if you provide an ipa file
|
18
|
+
version "[[APP_VERSION]]"
|
11
19
|
|
12
|
-
|
13
|
-
#
|
14
|
-
# https://github.com/KrauseFx/deliver
|
15
|
-
screenshots_path "./screenshots/"
|
20
|
+
###################### More Options ######################
|
21
|
+
# If you want to have even more control, check out the documentation
|
22
|
+
# https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
|
16
23
|
|
17
24
|
|
18
|
-
|
25
|
+
###################### Automatically generated ######################
|
26
|
+
# Feel free to remove the following lines if you use fastlane
|
19
27
|
|
20
|
-
|
21
|
-
app_identifier "[[APP_IDENTIFIER]]"
|
28
|
+
app_identifier "[[APP_IDENTIFIER]]" # The bundle identifier of your app
|
22
29
|
apple_id "[[APPLE_ID]]" # This is NOT your Apple login ID, but the App ID of your app
|
23
|
-
email "[[EMAIL]]" # the login email address
|
24
|
-
|
25
|
-
# version "1.2" # you can pass this if you want to verify the version number with the ipa file
|
26
|
-
|
27
|
-
# To update the app's description, changelog, etc. or to avoid updating it using deliver, edit the files in ./metadata/[language]
|
28
|
-
|
29
|
-
########################################
|
30
|
-
# Building and Testing
|
31
|
-
########################################
|
32
|
-
|
33
|
-
# For fastlane users:
|
34
|
-
# you can remove all code below if you're using fastlane!
|
35
|
-
|
36
|
-
# Remove the whole block if you do not want to upload an ipa file
|
37
|
-
ipa do
|
38
|
-
# Add any code you want, like incrementing the build
|
39
|
-
# number or changing the app identifier
|
40
|
-
|
41
|
-
# Attention: When you return a valid ipa file, this file will get uploaded and released
|
42
|
-
# If you only want to upload app metadata, remove the complete ipa block.
|
43
|
-
|
44
|
-
# system("ipa build --verbose") # build your project using Shenzhen
|
45
|
-
|
46
|
-
"./[[APP_NAME]].ipa" # Tell 'Deliver' where it can find the finished ipa file
|
47
|
-
end
|
48
|
-
|
49
|
-
# ipa "./latest.ipa" # this can be used instead of the `do` block, if you prefer manually building the ipa file
|
50
|
-
|
51
|
-
# beta_ipa do
|
52
|
-
# system("ipa build --verbose") # customize this to build beta version
|
53
|
-
# "./ad_hoc_build.ipa" # upload ipa file using `deliver --beta`
|
54
|
-
# end
|
55
|
-
|
56
|
-
# unit_tests do
|
57
|
-
# If you use fastlane (http://github.com/krausefx/fastlane), run the tests there
|
58
|
-
# system("xctool test")
|
59
|
-
# end
|
60
|
-
|
61
|
-
success do
|
62
|
-
# system("say 'Successfully deployed a new version.'")
|
63
|
-
end
|
64
|
-
|
65
|
-
# More information about all available options: https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
|
30
|
+
email "[[EMAIL]]" # the login email address
|
@@ -1,26 +1,4 @@
|
|
1
|
-
|
2
|
-
# For more information about each property, visit the GitHub documentation: https://github.com/krausefx/deliver
|
3
|
-
#
|
4
|
-
# You can remove those parts you don't need
|
5
|
-
#
|
6
|
-
# A list of available language codes can be found here: https://github.com/krausefx/deliver#available-language-codes
|
7
|
-
#
|
8
|
-
# Everything next to a # is a comment and will be ignored
|
9
|
-
|
10
|
-
# hide_transporter_output # remove the '#' in the beginning of the line, to hide the output while uploading
|
11
|
-
|
12
|
-
########################################
|
13
|
-
# App Metadata
|
14
|
-
########################################
|
15
|
-
|
16
|
-
|
17
|
-
# This folder has to include one folder for each language
|
18
|
-
# More information about automatic screenshot upload:
|
19
|
-
# https://github.com/KrauseFx/deliver#upload-screenshots-to-itunes-connect
|
20
|
-
screenshots_path "./screenshots"
|
21
|
-
|
22
|
-
|
23
|
-
# version "1.2" # you can pass this if you want to verify the version number with the ipa file
|
1
|
+
###################### App Metadata ######################
|
24
2
|
#
|
25
3
|
# title({
|
26
4
|
# "en-US" => "Your App Name"
|
@@ -29,42 +7,32 @@ screenshots_path "./screenshots"
|
|
29
7
|
# changelog({
|
30
8
|
# "en-US" => "iPhone 6 (Plus) Support"
|
31
9
|
# })
|
10
|
+
# More options: https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
|
32
11
|
|
12
|
+
###################### Screenshots ######################
|
13
|
+
# Store all screenshots in the ./screenshots folder separated
|
14
|
+
# by language. If you use snapshot, this happens automatically
|
33
15
|
|
16
|
+
###################### IPA File ######################
|
17
|
+
# This part is only relevant, if you want to submit a new binary
|
18
|
+
# If you don't use fastlane (https://github.com/KrauseFx/fastlane)
|
19
|
+
# you can set the path to your ipa file using:
|
20
|
+
# ipa './app.ip'
|
34
21
|
|
35
|
-
|
36
|
-
#
|
37
|
-
########################################
|
38
|
-
|
39
|
-
# For fastlane users:
|
40
|
-
# you can remove all code below if you're using fastlane!
|
41
|
-
|
42
|
-
|
43
|
-
# Remove the whole block if you do not want to upload an ipa file
|
44
|
-
ipa do
|
45
|
-
# Add any code you want, like incrementing the build
|
46
|
-
# number or changing the app identifier
|
47
|
-
|
48
|
-
# Attention: When you return a valid ipa file, this file will get uploaded and released
|
49
|
-
# If you only want to upload app metadata, remove the complete ipa block.
|
50
|
-
|
51
|
-
# system("ipa build --verbose") # build your project using Shenzhen
|
22
|
+
# to provide an ipa file for TestFlight distribution, use beta_ipa
|
23
|
+
# beta_ipa './app.ip'
|
52
24
|
|
53
|
-
|
54
|
-
|
25
|
+
# The version of your app - remove this if you provide an ipa file
|
26
|
+
version "[[APP_VERSION]]"
|
55
27
|
|
56
|
-
|
28
|
+
###################### More Options ######################
|
29
|
+
# If you want to have even more control, check out the documentation
|
30
|
+
# https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
|
57
31
|
|
58
|
-
# beta_ipa do
|
59
|
-
# system("ipa build --verbose") # customize this to build beta version
|
60
|
-
# "./ad_hoc_build.ipa" # upload ipa file using `deliver --beta`
|
61
|
-
# end
|
62
32
|
|
63
|
-
|
64
|
-
#
|
65
|
-
# system("xctool test")
|
66
|
-
# end
|
33
|
+
###################### Automatically generated ######################
|
34
|
+
# Feel free to remove the following lines if you use fastlane
|
67
35
|
|
68
|
-
|
69
|
-
|
70
|
-
|
36
|
+
app_identifier "[[APP_IDENTIFIER]]" # The bundle identifier of your app
|
37
|
+
apple_id "[[APPLE_ID]]" # This is NOT your Apple login ID, but the App ID of your app
|
38
|
+
email "[[EMAIL]]" # the login email address
|
@@ -219,6 +219,8 @@ module Deliver
|
|
219
219
|
Helper.log.warn "Overwriting screenshots path from config (#{screens_path}) with (#{ENV["DELIVER_SCREENSHOTS_PATH"]})".yellow
|
220
220
|
screens_path = ENV["DELIVER_SCREENSHOTS_PATH"]
|
221
221
|
end
|
222
|
+
|
223
|
+
screens_path ||= "./screenshots/" # default value
|
222
224
|
|
223
225
|
if screens_path
|
224
226
|
# Not using Snapfile. Not a good user.
|
@@ -57,9 +57,11 @@ module Deliver
|
|
57
57
|
app = Deliver::App.new(app_identifier: identifier)
|
58
58
|
app.set_metadata_directory("/tmp") # we don't want to pollute the current folder
|
59
59
|
app.metadata # this will download the latest app metadata
|
60
|
+
|
61
|
+
version_number = app.metadata.fetch_value("//x:version").first["string"] # fetch the latest app version
|
60
62
|
|
61
63
|
file_path = File.join(deliver_path, Deliver::Deliverfile::Deliverfile::FILE_NAME)
|
62
|
-
json = generate_deliver_file(app, deliver_path, project_name)
|
64
|
+
json = generate_deliver_file(app, deliver_path, project_name, version_number)
|
63
65
|
File.write(file_path, json)
|
64
66
|
|
65
67
|
FileUtils.mkdir_p File.join(deliver_path, 'screenshots')
|
@@ -81,7 +83,7 @@ module Deliver
|
|
81
83
|
private
|
82
84
|
# This method takes care of creating a new 'deliver' folder, containg the app metadata
|
83
85
|
# and screenshots folders
|
84
|
-
def self.generate_deliver_file(app, path, project_name)
|
86
|
+
def self.generate_deliver_file(app, path, project_name, version_number)
|
85
87
|
FileUtils.mkdir_p path rescue nil # never mind if it's already there
|
86
88
|
|
87
89
|
json = create_json_based_on_xml(app, path)
|
@@ -107,6 +109,7 @@ module Deliver
|
|
107
109
|
deliver.gsub!("[[APP_NAME]]", project_name)
|
108
110
|
deliver.gsub!("[[APPLE_ID]]", app.apple_id.to_s)
|
109
111
|
deliver.gsub!("[[EMAIL]]", CredentialsManager::PasswordManager.shared_manager.username)
|
112
|
+
deliver.gsub!("[[APP_VERSION]]", version_number)
|
110
113
|
|
111
114
|
return deliver
|
112
115
|
end
|
data/lib/deliver/version.rb
CHANGED
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: 0.9.0.
|
4
|
+
version: 0.9.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fastlane_core
|