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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d6e5f3897f71270754b2dd165acad1d32d5f5788
4
- data.tar.gz: 1411d0ca22a4f1b27670ae4e8483306b8b6e0a3b
3
+ metadata.gz: cbb3cf4785750f0e7da41a6e530de252562c5ebb
4
+ data.tar.gz: 0c9586db31a2f63b1b747c705f2d041ae443ea5f
5
5
  SHA512:
6
- metadata.gz: e2f787905aeb6501555f8bf4a8e3b8f54cc48bb2c0e5e09b08090b36ce070e4ba33faa5136d42dd510b54a172d80d81a2428292194bc2e35897b9f1e9208d767
7
- data.tar.gz: 4488184db0658cf289a600cb8eb578caba39803041f5f90ba984f81d1bfea0c5820294fb3576f7d839109e251ec026715256432ffb11a914b6505f5d15d944ba
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 on your server
279
- - Many more things, be creative and let me know :)
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
- # For more information visit the GitHub documentation: https://github.com/krausefx/deliver
2
- # Everything next to a # is a comment and will be ignored
1
+ ###################### App Metadata ######################
2
+ # Update the app description and metadata in the ./metadata folder
3
3
 
4
- # hide_transporter_output # remove the '#' in the beginning of the line, to hide the output while uploading
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
- # App Metadata
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
- # This folder has to include one folder for each language
13
- # More information about automatic screenshot upload:
14
- # https://github.com/KrauseFx/deliver#upload-screenshots-to-itunes-connect
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
- # More information about all available options: https://github.com/KrauseFx/deliver/blob/master/Deliverfile.md
25
+ ###################### Automatically generated ######################
26
+ # Feel free to remove the following lines if you use fastlane
19
27
 
20
- # Both lines are optional if you want to remove them:
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
- # This is the example Deliverfile
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
- # Building and Testing
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
- "./[[APP_NAME]].ipa" # Tell 'Deliver' where it can find the finished ipa file
54
- end
25
+ # The version of your app - remove this if you provide an ipa file
26
+ version "[[APP_VERSION]]"
55
27
 
56
- # ipa "./latest.ipa" # this can be used instead of the `do` block, if you prefer manually building the ipa file
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
- # unit_tests do
64
- # If you use fastlane (http://github.com/krausefx/fastlane), run the tests there
65
- # system("xctool test")
66
- # end
33
+ ###################### Automatically generated ######################
34
+ # Feel free to remove the following lines if you use fastlane
67
35
 
68
- success do
69
- # system("say 'Successfully deployed a new version.'")
70
- end
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
@@ -1,3 +1,3 @@
1
1
  module Deliver
2
- VERSION = "0.9.0.pre"
2
+ VERSION = "0.9.0.pre2"
3
3
  end
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.pre
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-28 00:00:00.000000000 Z
11
+ date: 2015-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core