deliver 0.9.0.pre → 0.9.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|