deliver 0.3.6 → 0.3.7.beta1
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 +24 -10
- data/lib/deliver/app_metadata.rb +19 -19
- data/lib/deliver/app_screenshot.rb +1 -1
- data/lib/deliver/deliver_process.rb +4 -4
- data/lib/deliver/helper.rb +1 -1
- data/lib/deliver/itunes_transporter.rb +36 -14
- data/lib/deliver/version.rb +1 -1
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c0c8e78d1a6ebb13df0846c007e5451ceea0ab83
         | 
| 4 | 
            +
              data.tar.gz: c52cb37533409e84d2aa002a2b0a7e20efc4396b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 492eca241565072da82291e80c1f22450b29494db1c36955600195dfd2efbac7d6dfe8575fb4868bb71930afe5c853bf9f8ec620121efa0aa753a5b395a7e778
         | 
| 7 | 
            +
              data.tar.gz: 3e02ab4bdfdf9bf014a1a11ff37c9a3bd85818cbc136905b9d0e8edc30d173bd871a9adce7317e497a74964e1060f6950ac9c3921f69981abff2539ac62492cc
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,7 +1,9 @@ | |
| 1 1 | 
             
            <p align="center">
         | 
| 2 2 | 
             
            <b>Deliver</b> • 
         | 
| 3 3 | 
             
            <a href="https://github.com/KrauseFx/snapshot">Snapshot</a> • 
         | 
| 4 | 
            -
            <a href="https://github.com/KrauseFx/frameit">FrameIt</a>
         | 
| 4 | 
            +
            <a href="https://github.com/KrauseFx/frameit">FrameIt</a> • 
         | 
| 5 | 
            +
            <a href="https://github.com/KrauseFx/PEM">PEM</a> • 
         | 
| 6 | 
            +
            <a href="https://github.com/KrauseFx/sigh">Sigh</a>
         | 
| 5 7 | 
             
            </p>
         | 
| 6 8 | 
             
            -------
         | 
| 7 9 |  | 
| @@ -27,14 +29,16 @@ Follow the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx) | |
| 27 29 |  | 
| 28 30 |  | 
| 29 31 | 
             
            -------
         | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 32 | 
            +
            <p align="center">
         | 
| 33 | 
            +
                <a href="#features">Features</a> • 
         | 
| 34 | 
            +
                <a href="#installation">Installation</a> • 
         | 
| 35 | 
            +
                <a href="#quick-start">Quick Start</a> • 
         | 
| 36 | 
            +
                <a href="#usage">Usage</a> • 
         | 
| 37 | 
            +
                <a href="#credentials">Credentials</a> • 
         | 
| 38 | 
            +
                <a href="#can-i-trust-deliver">Can I trust Deliver?</a> • 
         | 
| 39 | 
            +
                <a href="#tips">Tips</a> • 
         | 
| 40 | 
            +
                <a href="#need-help">Need help?</a>
         | 
| 41 | 
            +
            </p>
         | 
| 38 42 |  | 
| 39 43 | 
             
            -------
         | 
| 40 44 |  | 
| @@ -62,7 +66,7 @@ Install phantomjs (this is needed to control the iTunes Connect frontend) | |
| 62 66 |  | 
| 63 67 | 
             
                brew update && brew install phantomjs
         | 
| 64 68 |  | 
| 65 | 
            -
            If you don't have homebrew installed | 
| 69 | 
            +
            If you don't already have homebrew installed, [install it here](http://brew.sh/).
         | 
| 66 70 |  | 
| 67 71 | 
             
            To create new screenshots automatically, check out my other open source project [Snapshot](https://github.com/KrauseFx/snapshot).
         | 
| 68 72 |  | 
| @@ -260,6 +264,15 @@ Before actually uploading anything to iTunes, ```Deliver``` will generate a [PDF | |
| 260 264 | 
             
            - The iTunes search API to find missing information about a certain app, like the *apple_id* when you only pass the *bundle_identifier*. 
         | 
| 261 265 |  | 
| 262 266 | 
             
            # Tips
         | 
| 267 | 
            +
             | 
| 268 | 
            +
            ## Other helpful tools
         | 
| 269 | 
            +
            Check out other tools in this collection to speed up your deployment process:
         | 
| 270 | 
            +
            - [```snapshot```](https://github.com/KrauseFx/snapshot): Create hundreds of screenshots of your iPhone app... while doing something else.
         | 
| 271 | 
            +
            - [```frameit```](https://github.com/KrauseFx/frameit): Want a device frame around your screenshot? Do it in an instant!
         | 
| 272 | 
            +
            - [```PEM```](https://github.com/KrauseFx/pem): Tired of manually creating and maintaining your push certification profiles?
         | 
| 273 | 
            +
            - [```sigh```](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning.
         | 
| 274 | 
            +
             | 
| 275 | 
            +
             | 
| 263 276 | 
             
            ## Available language codes
         | 
| 264 277 | 
             
            ```ruby
         | 
| 265 278 | 
             
            ["da-DK", "de-DE", "el-GR", "en-AU", "en-CA", "en-GB", "en-US", "es-ES", "es-MX", "fi-FI", "fr-CA", "fr-FR", "id-ID", "it-IT", "ja-JP", "ko-KR", "ms-MY", "nl-NL", "no-NO", "pt-BR", "pt-PT", "ru-RU", "sv-SE", "th-TH", "tr-TR", "vi-VI", "cmn-Hans", "zh_CN", "cmn-Hant"]
         | 
| @@ -277,6 +290,7 @@ You can easily create screenshots completely automatically in the background usi | |
| 277 290 | 
             
            - Run ```snapshot init``` in your project folder
         | 
| 278 291 | 
             
            - You can edit the new ```snapshot.js``` file with your UI Automation code
         | 
| 279 292 | 
             
            - Run ```snapshot``` to test if the screenshots work as expected
         | 
| 293 | 
            +
            - Remove the line ```screenshot_folder``` from your ```Deliverfile``` to automatically create new screenshots for each deployment. 
         | 
| 280 294 |  | 
| 281 295 | 
             
            From now on, when you start ```deliver```, it will first create the new screenshots for you, which then will be uploaded to iTunes Connect.
         | 
| 282 296 |  | 
    
        data/lib/deliver/app_metadata.rb
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            require 'nokogiri'
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Deliver
         | 
| 4 | 
            -
              class AppMetadataError < StandardError | 
| 4 | 
            +
              class AppMetadataError < StandardError
         | 
| 5 5 | 
             
              end
         | 
| 6 | 
            -
              class AppMetadataParameterError < StandardError | 
| 6 | 
            +
              class AppMetadataParameterError < StandardError
         | 
| 7 7 | 
             
              end
         | 
| 8 8 |  | 
| 9 9 | 
             
              class AppMetadata
         | 
| @@ -40,7 +40,7 @@ module Deliver | |
| 40 40 | 
             
                # @param app [Deliver::App] The app this metadata is from/for
         | 
| 41 41 | 
             
                # @param dir [String] The app this metadata is from/for
         | 
| 42 42 | 
             
                # @param redownload_package [bool] When true
         | 
| 43 | 
            -
                #  the current package will be downloaded from iTC before you can | 
| 43 | 
            +
                #  the current package will be downloaded from iTC before you can
         | 
| 44 44 | 
             
                #  modify any values. This should only be false for unit tests
         | 
| 45 45 | 
             
                # @raise (AppMetadataParameterError) Is thrown when don't pass a correct app object
         | 
| 46 46 | 
             
                def initialize(app, dir, redownload_package = true)
         | 
| @@ -93,10 +93,10 @@ module Deliver | |
| 93 93 | 
             
                    Helper.log.info("Locale '#{language}' already exists. Can not create it again.")
         | 
| 94 94 | 
             
                    return false
         | 
| 95 95 | 
             
                  end
         | 
| 96 | 
            -
             | 
| 96 | 
            +
             | 
| 97 97 |  | 
| 98 98 | 
             
                  locales = fetch_value("//x:locales").first
         | 
| 99 | 
            -
             | 
| 99 | 
            +
             | 
| 100 100 | 
             
                  new_locale = @data.create_element('locale')
         | 
| 101 101 | 
             
                  new_locale['name'] = language
         | 
| 102 102 | 
             
                  locales << new_locale
         | 
| @@ -110,7 +110,7 @@ module Deliver | |
| 110 110 |  | 
| 111 111 | 
             
                  Helper.log.info("Successfully created the new locale '#{language}'. The default title '#{default_title}' was set, since it's required by iTunesConnect.")
         | 
| 112 112 | 
             
                  Helper.log.info("You can update the title using 'app.metadata.update_title'")
         | 
| 113 | 
            -
             | 
| 113 | 
            +
             | 
| 114 114 | 
             
                  information[language] ||= {}
         | 
| 115 115 | 
             
                  information[language][:title] = { value: default_title, modified: true}
         | 
| 116 116 |  | 
| @@ -218,14 +218,14 @@ module Deliver | |
| 218 218 |  | 
| 219 219 | 
             
                def add_screenshot(language, app_screenshot)
         | 
| 220 220 | 
             
                  raise AppMetadataParameterError.new(INVALID_LANGUAGE_ERROR) unless Languages::ALL_LANGUAGES.include?language
         | 
| 221 | 
            -
             | 
| 221 | 
            +
             | 
| 222 222 | 
             
                  create_locale_if_not_exists(language)
         | 
| 223 223 |  | 
| 224 224 | 
             
                  # Fetch the 'software_screenshots' node (array) for the specific locale
         | 
| 225 225 | 
             
                  locales = self.fetch_value("//x:locale[@name='#{language}']")
         | 
| 226 226 |  | 
| 227 227 | 
             
                  screenshots = self.fetch_value("//x:locale[@name='#{language}']/x:software_screenshots").first
         | 
| 228 | 
            -
             | 
| 228 | 
            +
             | 
| 229 229 | 
             
                  if not screenshots or screenshots.children.count == 0
         | 
| 230 230 | 
             
                    screenshots.remove if screenshots
         | 
| 231 231 |  | 
| @@ -277,7 +277,7 @@ module Deliver | |
| 277 277 |  | 
| 278 278 | 
             
                  new_screenshots.each do |key, value|
         | 
| 279 279 | 
             
                    if key.kind_of?String and value.kind_of?Array and value.count > 0 and value.first.kind_of?AppScreenshot
         | 
| 280 | 
            -
             | 
| 280 | 
            +
             | 
| 281 281 | 
             
                      self.clear_all_screenshots(key)
         | 
| 282 282 |  | 
| 283 283 | 
             
                      value.each do |screen|
         | 
| @@ -291,24 +291,24 @@ module Deliver | |
| 291 291 | 
             
                end
         | 
| 292 292 |  | 
| 293 293 | 
             
                # Automatically add all screenshots contained in the given directory to the app.
         | 
| 294 | 
            -
                # | 
| 294 | 
            +
                #
         | 
| 295 295 | 
             
                # This method will automatically detect which device type each screenshot is.
         | 
| 296 | 
            -
                # | 
| 296 | 
            +
                #
         | 
| 297 297 | 
             
                # This will also clear all existing screenshots before setting the new ones.
         | 
| 298 298 | 
             
                # @param (Hash) hash A hash containing a different path for each locale ({Deliver::Languages::ALL_LANGUAGES})
         | 
| 299 299 | 
             
                def set_screenshots_for_each_language(hash)
         | 
| 300 300 | 
             
                  raise AppMetadataParameterError.new("Parameter needs to be an hash, containg strings with the new description") unless hash.kind_of?Hash
         | 
| 301 301 |  | 
| 302 302 | 
             
                  hash.each do |language, current_path|
         | 
| 303 | 
            -
                    resulting_path = "#{current_path}/*.png"
         | 
| 303 | 
            +
                    resulting_path = "#{current_path}/*.{png,PNG,jpg,JPG,jpeg,JPEG}"
         | 
| 304 304 |  | 
| 305 305 | 
             
                    raise AppMetadataParameterError.new(INVALID_LANGUAGE_ERROR) unless Languages::ALL_LANGUAGES.include?language
         | 
| 306 306 |  | 
| 307 307 | 
             
                    if Dir[resulting_path].count == 0
         | 
| 308 | 
            -
                      Helper.log.error("No screenshots found at the given path '#{resulting_path}'") | 
| 308 | 
            +
                      Helper.log.error("No screenshots found at the given path '#{resulting_path}'")
         | 
| 309 309 | 
             
                    else
         | 
| 310 310 | 
             
                      self.clear_all_screenshots(language)
         | 
| 311 | 
            -
             | 
| 311 | 
            +
             | 
| 312 312 | 
             
                      Dir[resulting_path].sort.each do |path|
         | 
| 313 313 | 
             
                        add_screenshot(language, Deliver::AppScreenshot.new(path))
         | 
| 314 314 | 
             
                      end
         | 
| @@ -318,7 +318,7 @@ module Deliver | |
| 318 318 | 
             
                  true
         | 
| 319 319 | 
             
                end
         | 
| 320 320 |  | 
| 321 | 
            -
                # This method will run through all the available locales, check if there is | 
| 321 | 
            +
                # This method will run through all the available locales, check if there is
         | 
| 322 322 | 
             
                # a folder for this language (e.g. 'en-US') and use all screenshots in there
         | 
| 323 323 | 
             
                # @param (String) path A path to the folder, which contains a folder for each locale
         | 
| 324 324 | 
             
                def set_all_screenshots_from_path(path)
         | 
| @@ -383,7 +383,7 @@ module Deliver | |
| 383 383 | 
             
                    end
         | 
| 384 384 | 
             
                  end
         | 
| 385 385 |  | 
| 386 | 
            -
                  # @return (Deliver::ItunesTransporter) The  | 
| 386 | 
            +
                  # @return (Deliver::ItunesTransporter) The iTunesTransporter which is
         | 
| 387 387 | 
             
                  #  used to upload/download the app metadata.
         | 
| 388 388 | 
             
                  def transporter
         | 
| 389 389 | 
             
                    @transporter ||= ItunesTransporter.new
         | 
| @@ -402,7 +402,7 @@ module Deliver | |
| 402 402 | 
             
                      locale = fetch_value("//x:locale[@name='#{language}']").first
         | 
| 403 403 |  | 
| 404 404 | 
             
                      raise AppMetadataParameterError.new("#{INVALID_LANGUAGE_ERROR} (#{language})") unless Languages::ALL_LANGUAGES.include?language
         | 
| 405 | 
            -
             | 
| 405 | 
            +
             | 
| 406 406 |  | 
| 407 407 | 
             
                      field = locale.search(xpath_name).first
         | 
| 408 408 |  | 
| @@ -475,7 +475,7 @@ module Deliver | |
| 475 475 | 
             
                          modified: false
         | 
| 476 476 | 
             
                        }
         | 
| 477 477 | 
             
                      end
         | 
| 478 | 
            -
             | 
| 478 | 
            +
             | 
| 479 479 | 
             
                      information[language][:keywords] = { value: [], modified: false}
         | 
| 480 480 | 
             
                      locale.search('keyword').each do |current|
         | 
| 481 481 | 
             
                        information[language][:keywords][:value] << current.content
         | 
| @@ -485,4 +485,4 @@ module Deliver | |
| 485 485 | 
             
                    end
         | 
| 486 486 | 
             
                  end
         | 
| 487 487 | 
             
              end
         | 
| 488 | 
            -
            end
         | 
| 488 | 
            +
            end
         | 
| @@ -59,7 +59,7 @@ module Deliver | |
| 59 59 |  | 
| 60 60 | 
             
                # Validates the given screenshots (size and format)
         | 
| 61 61 | 
             
                def is_valid?
         | 
| 62 | 
            -
                  return false unless self.path.split(".").last | 
| 62 | 
            +
                  return false unless ["png", "PNG", "jpg", "JPG", "jpeg", "JPEG"].include? self.path.split(".").last
         | 
| 63 63 |  | 
| 64 64 | 
             
                  size = FastImage.size(self.path)
         | 
| 65 65 |  | 
| @@ -128,7 +128,7 @@ module Deliver | |
| 128 128 | 
             
                    matching.each do |key, value|
         | 
| 129 129 | 
             
                      if current[key]
         | 
| 130 130 | 
             
                        @deploy_information[value] ||= {}
         | 
| 131 | 
            -
                        @deploy_information[value][language]  | 
| 131 | 
            +
                        @deploy_information[value][language] ||= current[key]
         | 
| 132 132 | 
             
                      end
         | 
| 133 133 | 
             
                    end
         | 
| 134 134 | 
             
                  end
         | 
| @@ -226,10 +226,10 @@ module Deliver | |
| 226 226 | 
             
                  if @deploy_information[:blocks][:error]
         | 
| 227 227 | 
             
                    # Custom error handling, we just call this one
         | 
| 228 228 | 
             
                    @deploy_information[:blocks][:error].call(ex)
         | 
| 229 | 
            -
                  else
         | 
| 230 | 
            -
                    # Re-Raise the exception
         | 
| 231 | 
            -
                    raise ex
         | 
| 232 229 | 
             
                  end
         | 
| 230 | 
            +
                  
         | 
| 231 | 
            +
                  # Re-Raise the exception
         | 
| 232 | 
            +
                  raise ex
         | 
| 233 233 | 
             
                end
         | 
| 234 234 |  | 
| 235 235 | 
             
                private
         | 
    
        data/lib/deliver/helper.rb
    CHANGED
    
    | @@ -6,7 +6,7 @@ module Deliver | |
| 6 6 | 
             
                # Logging happens using this method
         | 
| 7 7 | 
             
                def self.log
         | 
| 8 8 | 
             
                  if is_test?
         | 
| 9 | 
            -
                    @@log ||= Logger.new( | 
| 9 | 
            +
                    @@log ||= Logger.new(STDOUT) # don't show any logs when running tests
         | 
| 10 10 | 
             
                  else
         | 
| 11 11 | 
             
                    @@log ||= Logger.new(STDOUT)
         | 
| 12 12 | 
             
                  end
         | 
| @@ -5,7 +5,7 @@ require 'deliver/password_manager' | |
| 5 5 |  | 
| 6 6 | 
             
            module Deliver
         | 
| 7 7 | 
             
              # The TransporterInputError occurs when you passed wrong inputs to the {Deliver::ItunesTransporter}
         | 
| 8 | 
            -
              class TransporterInputError < StandardError | 
| 8 | 
            +
              class TransporterInputError < StandardError
         | 
| 9 9 | 
             
              end
         | 
| 10 10 | 
             
              # The TransporterTransferError occurs when some error happens
         | 
| 11 11 | 
             
              # while uploading or downloading something from/to iTC
         | 
| @@ -13,18 +13,19 @@ module Deliver | |
| 13 13 | 
             
              end
         | 
| 14 14 |  | 
| 15 15 | 
             
              class ItunesTransporter
         | 
| 16 | 
            -
                ERROR_REGEX = />\s*ERROR:\s+(.+)/ | 
| 16 | 
            +
                ERROR_REGEX = />\s*ERROR:\s+(.+)/
         | 
| 17 17 | 
             
                WARNING_REGEX = />\s*WARN:\s+(.+)/
         | 
| 18 18 | 
             
                OUTPUT_REGEX = />\s+(.+)/
         | 
| 19 | 
            +
                RETURN_VALUE_REGEX = />\sDBG-X:\sReturning\s+(\d+)/
         | 
| 19 20 |  | 
| 20 | 
            -
                private_constant :ERROR_REGEX, :WARNING_REGEX, :OUTPUT_REGEX
         | 
| 21 | 
            +
                private_constant :ERROR_REGEX, :WARNING_REGEX, :OUTPUT_REGEX, :RETURN_VALUE_REGEX
         | 
| 21 22 |  | 
| 22 | 
            -
                # This will be called from the Deliverfile, and disables the logging of the  | 
| 23 | 
            +
                # This will be called from the Deliverfile, and disables the logging of the transporter output
         | 
| 23 24 | 
             
                def self.hide_transporter_output
         | 
| 24 25 | 
             
                  @@hide_transporter_output = true
         | 
| 25 26 | 
             
                end
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                # Returns a new instance of the  | 
| 27 | 
            +
             | 
| 28 | 
            +
                # Returns a new instance of the iTunesTransporter.
         | 
| 28 29 | 
             
                # If no username or password given, it will be taken from
         | 
| 29 30 | 
             
                # the #{Deliver::PasswordManager}
         | 
| 30 31 | 
             
                def initialize(user = nil, password = nil)
         | 
| @@ -73,7 +74,7 @@ module Deliver | |
| 73 74 | 
             
                  dir += "/#{app.apple_id}.itmsp"
         | 
| 74 75 |  | 
| 75 76 | 
             
                  Helper.log.info "Going to upload updated app to iTunesConnect"
         | 
| 76 | 
            -
             | 
| 77 | 
            +
             | 
| 77 78 | 
             
                  command = build_upload_command(@user, @password, dir)
         | 
| 78 79 | 
             
                  result = execute_transporter(command)
         | 
| 79 80 |  | 
| @@ -91,7 +92,7 @@ module Deliver | |
| 91 92 |  | 
| 92 93 | 
             
                    if defined?@@hide_transporter_output
         | 
| 93 94 | 
             
                      # Show a one time message instead
         | 
| 94 | 
            -
                      Helper.log.info "Waiting for iTunes Connect  | 
| 95 | 
            +
                      Helper.log.info "Waiting for iTunes Connect transporter to be finished.".green
         | 
| 95 96 | 
             
                      Helper.log.info "If you want upload/download logs to be enabled, remove 'hide_transporter_output' from your Deliverfile."
         | 
| 96 97 | 
             
                      Helper.log.info "iTunes Transporter progress...".green
         | 
| 97 98 | 
             
                    end
         | 
| @@ -107,37 +108,58 @@ module Deliver | |
| 107 108 | 
             
                      @errors << ex.to_s
         | 
| 108 109 | 
             
                    end
         | 
| 109 110 |  | 
| 110 | 
            -
                    if @errors.count > 0
         | 
| 111 | 
            -
                      raise TransporterTransferError.new(@errors.join("\n"))
         | 
| 112 | 
            -
                    end
         | 
| 113 | 
            -
             | 
| 114 111 | 
             
                    if @warnings.count > 0
         | 
| 115 112 | 
             
                      Helper.log.warn(@warnings.join("\n"))
         | 
| 116 113 | 
             
                    end
         | 
| 117 114 |  | 
| 115 | 
            +
                    if @errors.count > 0
         | 
| 116 | 
            +
                      Helper.log.error(@errors.join("\n"))
         | 
| 117 | 
            +
                    end
         | 
| 118 | 
            +
             | 
| 118 119 | 
             
                    true
         | 
| 119 120 | 
             
                  end
         | 
| 120 121 |  | 
| 121 122 | 
             
                  def parse_line(line)
         | 
| 122 123 | 
             
                    # Taken from https://github.com/sshaw/itunes_store_transporter/blob/master/lib/itunes/store/transporter/output_parser.rb
         | 
| 123 124 |  | 
| 125 | 
            +
                    output_done = false
         | 
| 124 126 | 
             
                    if line =~ ERROR_REGEX
         | 
| 125 127 | 
             
                      @errors << $1
         | 
| 128 | 
            +
                      Helper.log.error "[Transporter Error Output]: #{$1}".red
         | 
| 126 129 |  | 
| 127 130 | 
             
                      # Check if it's a login error
         | 
| 128 131 | 
             
                      if $1.include?"Your Apple ID or password was entered incorrectly" or
         | 
| 129 132 | 
             
                         $1.include?"This Apple ID has been locked for security reasons"
         | 
| 130 133 |  | 
| 131 134 | 
             
                        Deliver::PasswordManager.shared_manager.password_seems_wrong
         | 
| 135 | 
            +
                      elsif $1.include?"Redundant Binary Upload. There already exists a binary upload with build"
         | 
| 136 | 
            +
                        Helper.log.fatal $1
         | 
| 137 | 
            +
                        Helper.log.fatal "You have to change the build number of your app to upload your ipa file"
         | 
| 132 138 | 
             
                      end
         | 
| 133 139 |  | 
| 140 | 
            +
                      output_done = true
         | 
| 134 141 | 
             
                    elsif line =~ WARNING_REGEX
         | 
| 135 142 | 
             
                      @warnings << $1
         | 
| 143 | 
            +
                      Helper.log.warn "[Transporter Warning Output]: #{$1}".yellow
         | 
| 144 | 
            +
                      output_done = true
         | 
| 145 | 
            +
                    end
         | 
| 146 | 
            +
             | 
| 147 | 
            +
                    if line =~ RETURN_VALUE_REGEX
         | 
| 148 | 
            +
                      if $1.to_i != 0
         | 
| 149 | 
            +
                        Helper.log.fatal "Transporter transfer failed.".red
         | 
| 150 | 
            +
                        Helper.log.warn(@warnings.join("\n").yellow)
         | 
| 151 | 
            +
                        Helper.log.error(@errors.join("\n").red)
         | 
| 152 | 
            +
                        raise "Return status of iTunes Transporter was #{$1}: #{@errors.join('\n')}".red
         | 
| 153 | 
            +
                      else
         | 
| 154 | 
            +
                        Helper.log.info "iTunes Transporter successfully finished its job".green
         | 
| 155 | 
            +
                      end
         | 
| 136 156 | 
             
                    end
         | 
| 137 157 |  | 
| 138 158 | 
             
                    if not defined?@@hide_transporter_output and line =~ OUTPUT_REGEX
         | 
| 139 159 | 
             
                      # General logging for debug purposes
         | 
| 140 | 
            -
                       | 
| 160 | 
            +
                      unless output_done
         | 
| 161 | 
            +
                        Helper.log.debug "[Transporter Output]: #{$1}"
         | 
| 162 | 
            +
                      end
         | 
| 141 163 | 
             
                    end
         | 
| 142 164 | 
             
                  end
         | 
| 143 165 |  | 
| @@ -167,4 +189,4 @@ module Deliver | |
| 167 189 | 
             
                  end
         | 
| 168 190 |  | 
| 169 191 | 
             
              end
         | 
| 170 | 
            -
            end
         | 
| 192 | 
            +
            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.3. | 
| 4 | 
            +
              version: 0.3.7.beta1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Felix Krause
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014- | 
| 11 | 
            +
            date: 2014-12-03 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: json
         | 
| @@ -350,9 +350,9 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 350 350 | 
             
                  version: 2.0.0
         | 
| 351 351 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 352 352 | 
             
              requirements:
         | 
| 353 | 
            -
              - - ' | 
| 353 | 
            +
              - - '>'
         | 
| 354 354 | 
             
                - !ruby/object:Gem::Version
         | 
| 355 | 
            -
                  version:  | 
| 355 | 
            +
                  version: 1.3.1
         | 
| 356 356 | 
             
            requirements: []
         | 
| 357 357 | 
             
            rubyforge_project: 
         | 
| 358 358 | 
             
            rubygems_version: 2.2.2
         |