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