deliver 0.11.1.beta → 0.11.1
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/lib/assets/summary.html.erb +1 -0
 - data/lib/deliver/app_metadata.rb +8 -1
 - data/lib/deliver/app_metadata_screenshots.rb +2 -2
 - data/lib/deliver/deliver_process.rb +81 -78
 - data/lib/deliver/ipa_uploader.rb +9 -0
 - data/lib/deliver/itunes_connect/itunes_connect_reader.rb +1 -10
 - data/lib/deliver/version.rb +1 -1
 - metadata +5 -5
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8afb0b10b73ef864caba0f7e22f3a179bfefe4b3
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 3df6b0d6a8e7795b3ab5987ebba891e42d756480
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 6a793c043a3c32fa93b92c58f4b3141a298571a17398a930c251d4d3797acb68e9ee2310dddce740a05ac9c0769e1f45256dd86e84771f225b223f246e9f58eb
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 1e74130e251d1a42bce10b81fedf1d40b684896c4d5ad2cd9f53da48b90f82e6d07f143e39b7a1748f8dab4387ace3c3b49aea9cc83d1105f3e5e91f9a66b74b
         
     | 
    
        data/lib/assets/summary.html.erb
    CHANGED
    
    
    
        data/lib/deliver/app_metadata.rb
    CHANGED
    
    | 
         @@ -145,7 +145,14 @@ module Deliver 
     | 
|
| 
       145 
145 
     | 
    
         
             
                #  as keys.
         
     | 
| 
       146 
146 
     | 
    
         
             
                # @raise (AppMetadataParameterError) Is thrown when don't pass a correct hash with correct language codes.
         
     | 
| 
       147 
147 
     | 
    
         
             
                def update_changelog(hash)
         
     | 
| 
       148 
     | 
    
         
            -
                   
     | 
| 
      
 148 
     | 
    
         
            +
                  # check if we're allowed to do that
         
     | 
| 
      
 149 
     | 
    
         
            +
                  if FastlaneCore::ItunesSearchApi.fetch(@app.apple_id)
         
     | 
| 
      
 150 
     | 
    
         
            +
                    # App is already in the store
         
     | 
| 
      
 151 
     | 
    
         
            +
                    update_metadata_key(:version_whats_new, hash)
         
     | 
| 
      
 152 
     | 
    
         
            +
                  else
         
     | 
| 
      
 153 
     | 
    
         
            +
                    # App is not in the store, skipping changelog for now
         
     | 
| 
      
 154 
     | 
    
         
            +
                    Helper.log.info "It seems like this it the initial release of your app, which can't contain a changelog. Skipping the changelog for now.".yellow
         
     | 
| 
      
 155 
     | 
    
         
            +
                  end
         
     | 
| 
       149 
156 
     | 
    
         
             
                end
         
     | 
| 
       150 
157 
     | 
    
         | 
| 
       151 
158 
     | 
    
         
             
                # Updates the Marketing URL
         
     | 
| 
         @@ -105,7 +105,6 @@ module Deliver 
     | 
|
| 
       105 
105 
     | 
    
         | 
| 
       106 
106 
     | 
    
         
             
                def set_screenshots_for_each_language(hash, use_framed = false)
         
     | 
| 
       107 
107 
     | 
    
         
             
                  raise AppMetadataParameterError.new("Parameter needs to be an hash, containg strings with the new description") unless hash.kind_of?Hash
         
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
108 
     | 
    
         
             
                  hash.each do |language, current_path|
         
     | 
| 
       110 
109 
     | 
    
         
             
                    resulting_path = "#{current_path}/**/*.{png,jpg,jpeg}"
         
     | 
| 
       111 
110 
     | 
    
         | 
| 
         @@ -122,7 +121,8 @@ module Deliver 
     | 
|
| 
       122 
121 
     | 
    
         
             
                        # When frameit is enabled, we only want to upload the framed screenshots
         
     | 
| 
       123 
122 
     | 
    
         
             
                        if use_framed
         
     | 
| 
       124 
123 
     | 
    
         
             
                          # Except for Watch screenshots, they are okay without _framed
         
     | 
| 
       125 
     | 
    
         
            -
                           
     | 
| 
      
 124 
     | 
    
         
            +
                          is_apple_watch = ((AppScreenshot.new(path).screen_size == AppScreenshot::ScreenSize::IOS_APPLE_WATCH) rescue false)
         
     | 
| 
      
 125 
     | 
    
         
            +
                          unless is_apple_watch
         
     | 
| 
       126 
126 
     | 
    
         
             
                            next unless path.include?"_framed."
         
     | 
| 
       127 
127 
     | 
    
         
             
                          end
         
     | 
| 
       128 
128 
     | 
    
         
             
                        else
         
     | 
| 
         @@ -26,29 +26,23 @@ module Deliver 
     | 
|
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
                def run
         
     | 
| 
       28 
28 
     | 
    
         
             
                  begin
         
     | 
| 
      
 29 
     | 
    
         
            +
                    pre_load_default_values
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       29 
31 
     | 
    
         
             
                    unless metadata_only?
         
     | 
| 
       30 
32 
     | 
    
         
             
                      run_unit_tests
         
     | 
| 
       31 
     | 
    
         
            -
                      fetch_app_key_information
         
     | 
| 
       32 
33 
     | 
    
         
             
                      fetch_information_from_ipa_file
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
                      @app_version ||= get_latest_version
         
     | 
| 
       35 
     | 
    
         
            -
                      verify_ipa_file
         
     | 
| 
       36 
     | 
    
         
            -
                    else
         
     | 
| 
       37 
     | 
    
         
            -
                      fetch_app_key_information
         
     | 
| 
       38 
     | 
    
         
            -
                      @app_identifier ||= ask("App Identifier (e.g. com.krausefx.app): ")
         
     | 
| 
       39 
     | 
    
         
            -
                      @app_version ||= get_latest_version || ask("Which version number should be updated? ")
         
     | 
| 
       40 
34 
     | 
    
         
             
                    end
         
     | 
| 
       41 
     | 
    
         
            -
                    create_app
         
     | 
| 
       42 
35 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
                    Helper.log.info("Got all information needed to deploy a new update ('#{ 
     | 
| 
      
 36 
     | 
    
         
            +
                    Helper.log.info("Got all information needed to deploy a new update ('#{app_version}') for app '#{app_identifier}'")
         
     | 
| 
       44 
37 
     | 
    
         | 
| 
       45 
38 
     | 
    
         
             
                    verify_app_on_itunesconnect unless metadata_only?
         
     | 
| 
       46 
39 
     | 
    
         | 
| 
       47 
     | 
    
         
            -
                    if ready_for_sale?
         
     | 
| 
       48 
     | 
    
         
            -
                      raise "Cannot update metadata of apps 'Ready for Sale'. You can dupe: http://www.openradar.appspot.com/18263306".red 
         
     | 
| 
       49 
     | 
    
         
            -
                    end
         
     | 
| 
       50 
40 
     | 
    
         | 
| 
       51 
41 
     | 
    
         
             
                    if is_beta_build?
         
     | 
| 
      
 42 
     | 
    
         
            +
                      if ready_for_sale?
         
     | 
| 
      
 43 
     | 
    
         
            +
                        raise "Cannot update metadata of apps 'Ready for Sale'. You can dupe: http://www.openradar.appspot.com/18263306".red 
         
     | 
| 
      
 44 
     | 
    
         
            +
                      end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
       52 
46 
     | 
    
         
             
                      Helper.log.info "Beta builds don't upload new metadata to iTunesConnet".yellow
         
     | 
| 
       53 
47 
     | 
    
         
             
                    else
         
     | 
| 
       54 
48 
     | 
    
         
             
                      upload_metadata
         
     | 
| 
         @@ -76,6 +70,48 @@ module Deliver 
     | 
|
| 
       76 
70 
     | 
    
         
             
                  trigger_metadata_upload
         
     | 
| 
       77 
71 
     | 
    
         
             
                end
         
     | 
| 
       78 
72 
     | 
    
         | 
| 
      
 73 
     | 
    
         
            +
                #####################################################
         
     | 
| 
      
 74 
     | 
    
         
            +
                # @!group Getters
         
     | 
| 
      
 75 
     | 
    
         
            +
                #####################################################
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
                def app
         
     | 
| 
      
 78 
     | 
    
         
            +
                  return @app if @app
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                  @app = Deliver::App.new(app_identifier: app_identifier,
         
     | 
| 
      
 81 
     | 
    
         
            +
                                                apple_id: @deploy_information[Deliverer::ValKey::APPLE_ID]) # apple_id can be nil, will be fetched automatically
         
     | 
| 
      
 82 
     | 
    
         
            +
                end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                def app_version
         
     | 
| 
      
 85 
     | 
    
         
            +
                  return @app_version if @app_version
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
                  if Helper.is_test?
         
     | 
| 
      
 88 
     | 
    
         
            +
                    raise "No App Version given"
         
     | 
| 
      
 89 
     | 
    
         
            +
                  end
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
                  @app_version ||= ask("Which version number should be updated? ")
         
     | 
| 
      
 92 
     | 
    
         
            +
                end
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
                def app_identifier
         
     | 
| 
      
 95 
     | 
    
         
            +
                  return @app_identifier if @app_identifier
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
                  if Helper.is_test?
         
     | 
| 
      
 98 
     | 
    
         
            +
                    raise "No App Identifier given"
         
     | 
| 
      
 99 
     | 
    
         
            +
                  end
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                  Helper.log.info "No App Identifier found. Pass one using `app_identifier` in your Deliverfile".yellow
         
     | 
| 
      
 102 
     | 
    
         
            +
                  @app_identifier = ask("App Identifier (e.g. com.krausefx.app): ")
         
     | 
| 
      
 103 
     | 
    
         
            +
                end
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                # Preloads default values from the given hashes + Appfile
         
     | 
| 
      
 106 
     | 
    
         
            +
                def pre_load_default_values
         
     | 
| 
      
 107 
     | 
    
         
            +
                  @app_identifier ||= @deploy_information[Deliverer::ValKey::APP_IDENTIFIER]
         
     | 
| 
      
 108 
     | 
    
         
            +
                  @app_identifier ||= (CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier) rescue nil)
         
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
                  @app_version ||= @deploy_information[Deliverer::ValKey::APP_VERSION]
         
     | 
| 
      
 111 
     | 
    
         
            +
                  @app_version ||= (FastlaneCore::ItunesSearchApi.fetch_by_identifier(app_identifier)['version'] rescue nil)
         
     | 
| 
      
 112 
     | 
    
         
            +
                  @app_version ||= (app.get_live_version rescue nil)
         
     | 
| 
      
 113 
     | 
    
         
            +
                end
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
       79 
115 
     | 
    
         
             
                #####################################################
         
     | 
| 
       80 
116 
     | 
    
         
             
                # @!group What kind of release
         
     | 
| 
       81 
117 
     | 
    
         
             
                #####################################################
         
     | 
| 
         @@ -125,23 +161,6 @@ module Deliver 
     | 
|
| 
       125 
161 
     | 
    
         
             
                  end
         
     | 
| 
       126 
162 
     | 
    
         
             
                end
         
     | 
| 
       127 
163 
     | 
    
         | 
| 
       128 
     | 
    
         
            -
                # Tries to fetch app version and app identifier from Deliverfile
         
     | 
| 
       129 
     | 
    
         
            -
                def fetch_app_key_information
         
     | 
| 
       130 
     | 
    
         
            -
                  @app_version = @deploy_information[Deliverer::ValKey::APP_VERSION]
         
     | 
| 
       131 
     | 
    
         
            -
                  @app_identifier = @deploy_information[Deliverer::ValKey::APP_IDENTIFIER]
         
     | 
| 
       132 
     | 
    
         
            -
                  fetch_app_identifier_from_app_file
         
     | 
| 
       133 
     | 
    
         
            -
                end
         
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
     | 
    
         
            -
                # returns the latest app version from iTunes Connect
         
     | 
| 
       136 
     | 
    
         
            -
                def get_latest_version
         
     | 
| 
       137 
     | 
    
         
            -
                  return nil if Helper.is_test?
         
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
                  data = itc.get_app_information(Deliver::App.new(app_identifier: @app_identifier))
         
     | 
| 
       140 
     | 
    
         
            -
                  return (data['version']['value'] rescue nil)
         
     | 
| 
       141 
     | 
    
         
            -
                rescue
         
     | 
| 
       142 
     | 
    
         
            -
                  return nil
         
     | 
| 
       143 
     | 
    
         
            -
                end
         
     | 
| 
       144 
     | 
    
         
            -
             
     | 
| 
       145 
164 
     | 
    
         
             
                def fetch_information_from_ipa_file
         
     | 
| 
       146 
165 
     | 
    
         
             
                  used_ipa_file = ENV["IPA_OUTPUT_PATH"]# if (ENV["IPA_OUTPUT_PATH"] and File.exists?(ENV["IPA_OUTPUT_PATH"]))
         
     | 
| 
       147 
166 
     | 
    
         | 
| 
         @@ -183,31 +202,17 @@ module Deliver 
     | 
|
| 
       183 
202 
     | 
    
         | 
| 
       184 
203 
     | 
    
         
             
                    # We are able to fetch some metadata directly from the ipa file
         
     | 
| 
       185 
204 
     | 
    
         
             
                    # If they were also given in the Deliverfile, we will compare the values
         
     | 
| 
       186 
     | 
    
         
            -
                     
     | 
| 
       187 
     | 
    
         
            -
                     
     | 
| 
      
 205 
     | 
    
         
            +
                    # Overwrite the cached value if there is any
         
     | 
| 
      
 206 
     | 
    
         
            +
                    load_app_identifier_from_ipa
         
     | 
| 
      
 207 
     | 
    
         
            +
                    load_app_version_from_ipa
         
     | 
| 
       188 
208 
     | 
    
         
             
                  end
         
     | 
| 
       189 
209 
     | 
    
         
             
                end
         
     | 
| 
       190 
210 
     | 
    
         | 
| 
       191 
     | 
    
         
            -
                def fetch_app_identifier_from_app_file
         
     | 
| 
       192 
     | 
    
         
            -
                  @app_identifier ||= (CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier) rescue nil)
         
     | 
| 
       193 
     | 
    
         
            -
                end
         
     | 
| 
       194 
     | 
    
         
            -
             
     | 
| 
       195 
     | 
    
         
            -
                def verify_ipa_file
         
     | 
| 
       196 
     | 
    
         
            -
                  fetch_app_identifier_from_app_file unless @app_identifier
         
     | 
| 
       197 
     | 
    
         
            -
                  raise Deliverfile::Deliverfile::DeliverfileDSLError.new(Deliverfile::Deliverfile::MISSING_APP_IDENTIFIER_MESSAGE.red) unless @app_identifier
         
     | 
| 
       198 
     | 
    
         
            -
                  raise Deliverfile::Deliverfile::DeliverfileDSLError.new(Deliverfile::Deliverfile::MISSING_VERSION_NUMBER_MESSAGE.red) unless @app_version
         
     | 
| 
       199 
     | 
    
         
            -
                end
         
     | 
| 
       200 
     | 
    
         
            -
             
     | 
| 
       201 
     | 
    
         
            -
                def create_app
         
     | 
| 
       202 
     | 
    
         
            -
                  @app = Deliver::App.new(app_identifier: @app_identifier,
         
     | 
| 
       203 
     | 
    
         
            -
                                                apple_id: @deploy_information[Deliverer::ValKey::APPLE_ID])
         
     | 
| 
       204 
     | 
    
         
            -
                end
         
     | 
| 
       205 
     | 
    
         
            -
             
     | 
| 
       206 
211 
     | 
    
         
             
                def verify_app_on_itunesconnect
         
     | 
| 
       207 
212 
     | 
    
         
             
                  if (@ipa and is_release_build?) or !@ipa
         
     | 
| 
       208 
213 
     | 
    
         
             
                    # This is a real release, which should also upload the ipa file onto production
         
     | 
| 
       209 
     | 
    
         
            -
                     
     | 
| 
       210 
     | 
    
         
            -
                     
     | 
| 
      
 214 
     | 
    
         
            +
                    app.create_new_version!(app_version) unless Helper.is_test?
         
     | 
| 
      
 215 
     | 
    
         
            +
                    app.metadata.verify_version(app_version) if @ipa
         
     | 
| 
       211 
216 
     | 
    
         
             
                  end
         
     | 
| 
       212 
217 
     | 
    
         
             
                end
         
     | 
| 
       213 
218 
     | 
    
         | 
| 
         @@ -267,17 +272,17 @@ module Deliver 
     | 
|
| 
       267 
272 
     | 
    
         
             
                end
         
     | 
| 
       268 
273 
     | 
    
         | 
| 
       269 
274 
     | 
    
         
             
                def set_app_metadata
         
     | 
| 
       270 
     | 
    
         
            -
                   
     | 
| 
       271 
     | 
    
         
            -
                   
     | 
| 
      
 275 
     | 
    
         
            +
                  app.metadata.update_title(@deploy_information[Deliverer::ValKey::TITLE]) if @deploy_information[Deliverer::ValKey::TITLE]
         
     | 
| 
      
 276 
     | 
    
         
            +
                  app.metadata.update_description(@deploy_information[Deliverer::ValKey::DESCRIPTION]) if @deploy_information[Deliverer::ValKey::DESCRIPTION]
         
     | 
| 
       272 
277 
     | 
    
         | 
| 
       273 
     | 
    
         
            -
                   
     | 
| 
       274 
     | 
    
         
            -
                   
     | 
| 
       275 
     | 
    
         
            -
                   
     | 
| 
       276 
     | 
    
         
            -
                   
     | 
| 
      
 278 
     | 
    
         
            +
                  app.metadata.update_support_url(@deploy_information[Deliverer::ValKey::SUPPORT_URL]) if @deploy_information[Deliverer::ValKey::SUPPORT_URL]
         
     | 
| 
      
 279 
     | 
    
         
            +
                  app.metadata.update_changelog(@deploy_information[Deliverer::ValKey::CHANGELOG]) if @deploy_information[Deliverer::ValKey::CHANGELOG]
         
     | 
| 
      
 280 
     | 
    
         
            +
                  app.metadata.update_marketing_url(@deploy_information[Deliverer::ValKey::MARKETING_URL]) if @deploy_information[Deliverer::ValKey::MARKETING_URL]
         
     | 
| 
      
 281 
     | 
    
         
            +
                  app.metadata.update_privacy_url(@deploy_information[Deliverer::ValKey::PRIVACY_URL]) if @deploy_information[Deliverer::ValKey::PRIVACY_URL]
         
     | 
| 
       277 
282 
     | 
    
         | 
| 
       278 
     | 
    
         
            -
                   
     | 
| 
      
 283 
     | 
    
         
            +
                  app.metadata.update_keywords(@deploy_information[Deliverer::ValKey::KEYWORDS]) if @deploy_information[Deliverer::ValKey::KEYWORDS]
         
     | 
| 
       279 
284 
     | 
    
         | 
| 
       280 
     | 
    
         
            -
                   
     | 
| 
      
 285 
     | 
    
         
            +
                  app.metadata.update_price_tier(@deploy_information[Deliverer::ValKey::PRICE_TIER]) if @deploy_information[Deliverer::ValKey::PRICE_TIER]
         
     | 
| 
       281 
286 
     | 
    
         
             
                end
         
     | 
| 
       282 
287 
     | 
    
         | 
| 
       283 
288 
     | 
    
         
             
                def screenshots_path
         
     | 
| 
         @@ -298,7 +303,7 @@ module Deliver 
     | 
|
| 
       298 
303 
     | 
    
         
             
                  screens_path = screenshots_path
         
     | 
| 
       299 
304 
     | 
    
         
             
                  if screens_path
         
     | 
| 
       300 
305 
     | 
    
         
             
                    # Not using Snapfile. Not a good user.
         
     | 
| 
       301 
     | 
    
         
            -
                    if not  
     | 
| 
      
 306 
     | 
    
         
            +
                    if not app.metadata.set_all_screenshots_from_path(screens_path, use_framed_screenshots?)
         
     | 
| 
       302 
307 
     | 
    
         
             
                      # This path does not contain folders for each language
         
     | 
| 
       303 
308 
     | 
    
         
             
                      if screens_path.kind_of?String
         
     | 
| 
       304 
309 
     | 
    
         
             
                        if @deploy_information[Deliverer::ValKey::DEFAULT_LANGUAGE]
         
     | 
| 
         @@ -309,7 +314,7 @@ module Deliver 
     | 
|
| 
       309 
314 
     | 
    
         
             
                          screens_path = nil
         
     | 
| 
       310 
315 
     | 
    
         
             
                        end
         
     | 
| 
       311 
316 
     | 
    
         
             
                      end
         
     | 
| 
       312 
     | 
    
         
            -
                       
     | 
| 
      
 317 
     | 
    
         
            +
                      app.metadata.set_screenshots_for_each_language(screens_path, use_framed_screenshots?) if screens_path
         
     | 
| 
       313 
318 
     | 
    
         
             
                    end
         
     | 
| 
       314 
319 
     | 
    
         
             
                  end
         
     | 
| 
       315 
320 
     | 
    
         
             
                end
         
     | 
| 
         @@ -348,7 +353,7 @@ module Deliver 
     | 
|
| 
       348 
353 
     | 
    
         
             
                end
         
     | 
| 
       349 
354 
     | 
    
         | 
| 
       350 
355 
     | 
    
         
             
                def trigger_metadata_upload
         
     | 
| 
       351 
     | 
    
         
            -
                  result =  
     | 
| 
      
 356 
     | 
    
         
            +
                  result = app.metadata.upload!
         
     | 
| 
       352 
357 
     | 
    
         
             
                  raise "Error uploading app metadata".red unless result == true
         
     | 
| 
       353 
358 
     | 
    
         
             
                end
         
     | 
| 
       354 
359 
     | 
    
         | 
| 
         @@ -358,28 +363,28 @@ module Deliver 
     | 
|
| 
       358 
363 
     | 
    
         | 
| 
       359 
364 
     | 
    
         
             
                def additional_itc_information
         
     | 
| 
       360 
365 
     | 
    
         
             
                  # e.g. rating or copyright
         
     | 
| 
       361 
     | 
    
         
            -
                  itc.set_copyright!( 
     | 
| 
       362 
     | 
    
         
            -
                  itc.set_app_review_information!( 
     | 
| 
       363 
     | 
    
         
            -
                  itc.set_release_after_approval!( 
     | 
| 
      
 366 
     | 
    
         
            +
                  itc.set_copyright!(app, @deploy_information[Deliverer::ValKey::COPYRIGHT]) if @deploy_information[Deliverer::ValKey::COPYRIGHT]
         
     | 
| 
      
 367 
     | 
    
         
            +
                  itc.set_app_review_information!(app, @deploy_information[Deliverer::ValKey::APP_REVIEW_INFORMATION]) if @deploy_information[Deliverer::ValKey::APP_REVIEW_INFORMATION]
         
     | 
| 
      
 368 
     | 
    
         
            +
                  itc.set_release_after_approval!(app, @deploy_information[Deliverer::ValKey::AUTOMATIC_RELEASE]) if @deploy_information[Deliverer::ValKey::AUTOMATIC_RELEASE] != nil
         
     | 
| 
       364 
369 
     | 
    
         | 
| 
       365 
370 
     | 
    
         
             
                  # Categories
         
     | 
| 
       366 
371 
     | 
    
         
             
                  primary = @deploy_information[Deliverer::ValKey::PRIMARY_CATEGORY]
         
     | 
| 
       367 
372 
     | 
    
         
             
                  secondary = @deploy_information[Deliverer::ValKey::SECONDARY_CATEGORY]
         
     | 
| 
       368 
     | 
    
         
            -
                  itc.set_categories!( 
     | 
| 
      
 373 
     | 
    
         
            +
                  itc.set_categories!(app, primary, secondary) if (primary or secondary)
         
     | 
| 
       369 
374 
     | 
    
         | 
| 
       370 
375 
     | 
    
         
             
                  # App Rating
         
     | 
| 
       371 
     | 
    
         
            -
                  itc.set_app_rating!( 
     | 
| 
      
 376 
     | 
    
         
            +
                  itc.set_app_rating!(app, @deploy_information[Deliverer::ValKey::RATINGS_CONFIG_PATH]) if @deploy_information[Deliverer::ValKey::RATINGS_CONFIG_PATH]
         
     | 
| 
       372 
377 
     | 
    
         | 
| 
       373 
378 
     | 
    
         
             
                  # App Icon
         
     | 
| 
       374 
     | 
    
         
            -
                  itc.upload_app_icon!( 
     | 
| 
      
 379 
     | 
    
         
            +
                  itc.upload_app_icon!(app, @deploy_information[Deliverer::ValKey::APP_ICON]) if @deploy_information[Deliverer::ValKey::APP_ICON]
         
     | 
| 
       375 
380 
     | 
    
         | 
| 
       376 
381 
     | 
    
         
             
                  # Apple Watch App Icon
         
     | 
| 
       377 
     | 
    
         
            -
                  itc.upload_apple_watch_app_icon!( 
     | 
| 
      
 382 
     | 
    
         
            +
                  itc.upload_apple_watch_app_icon!(app, @deploy_information[Deliverer::ValKey::APPLE_WATCH_APP_ICON]) if @deploy_information[Deliverer::ValKey::APPLE_WATCH_APP_ICON]
         
     | 
| 
       378 
383 
     | 
    
         
             
                end
         
     | 
| 
       379 
384 
     | 
    
         | 
| 
       380 
385 
     | 
    
         
             
                def trigger_ipa_upload
         
     | 
| 
       381 
386 
     | 
    
         
             
                  if @ipa
         
     | 
| 
       382 
     | 
    
         
            -
                    @ipa.app =  
     | 
| 
      
 387 
     | 
    
         
            +
                    @ipa.app = app # we now have the resulting app
         
     | 
| 
       383 
388 
     | 
    
         
             
                    result = @ipa.upload! # Important: this will also actually deploy the app on iTunesConnect
         
     | 
| 
       384 
389 
     | 
    
         
             
                    raise "Error uploading ipa file".red unless result == true
         
     | 
| 
       385 
390 
     | 
    
         
             
                  else
         
     | 
| 
         @@ -411,8 +416,8 @@ module Deliver 
     | 
|
| 
       411 
416 
     | 
    
         
             
                  def hash_for_callback(error = nil)
         
     | 
| 
       412 
417 
     | 
    
         
             
                    {
         
     | 
| 
       413 
418 
     | 
    
         
             
                      error: error,
         
     | 
| 
       414 
     | 
    
         
            -
                      app_version:  
     | 
| 
       415 
     | 
    
         
            -
                      app_identifier:  
     | 
| 
      
 419 
     | 
    
         
            +
                      app_version: (app_version rescue nil),
         
     | 
| 
      
 420 
     | 
    
         
            +
                      app_identifier: (app_identifier rescue nil),
         
     | 
| 
       416 
421 
     | 
    
         
             
                      skipped_deploy: skip_deployment?,
         
     | 
| 
       417 
422 
     | 
    
         
             
                      is_release_build: is_release_build?,
         
     | 
| 
       418 
423 
     | 
    
         
             
                      is_beta_build: is_beta_build?,
         
     | 
| 
         @@ -420,26 +425,24 @@ module Deliver 
     | 
|
| 
       420 
425 
     | 
    
         
             
                    }
         
     | 
| 
       421 
426 
     | 
    
         
             
                  end
         
     | 
| 
       422 
427 
     | 
    
         | 
| 
       423 
     | 
    
         
            -
                  def  
     | 
| 
      
 428 
     | 
    
         
            +
                  def load_app_identifier_from_ipa
         
     | 
| 
      
 429 
     | 
    
         
            +
                    @app_identifier ||= @ipa.fetch_app_identifier # to not ask the user if there is no identifier there yet
         
     | 
| 
      
 430 
     | 
    
         
            +
             
     | 
| 
       424 
431 
     | 
    
         
             
                    if app_identifier
         
     | 
| 
       425 
432 
     | 
    
         
             
                      if @ipa.fetch_app_identifier and app_identifier != @ipa.fetch_app_identifier
         
     | 
| 
       426 
433 
     | 
    
         
             
                        raise Deliver::Deliverfile::Deliverfile::DeliverfileDSLError.new("App Identifier of IPA does not match with the given one ('#{app_identifier}' != '#{@ipa.fetch_app_identifier}')".red)
         
     | 
| 
       427 
434 
     | 
    
         
             
                      end
         
     | 
| 
       428 
     | 
    
         
            -
                    else
         
     | 
| 
       429 
     | 
    
         
            -
                      app_identifier = @ipa.fetch_app_identifier
         
     | 
| 
       430 
435 
     | 
    
         
             
                    end
         
     | 
| 
       431 
     | 
    
         
            -
                    return app_identifier
         
     | 
| 
       432 
436 
     | 
    
         
             
                  end
         
     | 
| 
       433 
437 
     | 
    
         | 
| 
       434 
     | 
    
         
            -
                  def  
     | 
| 
      
 438 
     | 
    
         
            +
                  def load_app_version_from_ipa
         
     | 
| 
      
 439 
     | 
    
         
            +
                    @app_version ||= @ipa.fetch_app_version # to not ask the user if there is no version there yet
         
     | 
| 
      
 440 
     | 
    
         
            +
             
     | 
| 
       435 
441 
     | 
    
         
             
                    if app_version
         
     | 
| 
       436 
442 
     | 
    
         
             
                      if @ipa.fetch_app_version and app_version != @ipa.fetch_app_version
         
     | 
| 
       437 
443 
     | 
    
         
             
                        raise Deliver::Deliverfile::Deliverfile::DeliverfileDSLError.new("App Version of IPA does not match with the given one (#{app_version} != #{@ipa.fetch_app_version})".red)
         
     | 
| 
       438 
444 
     | 
    
         
             
                      end
         
     | 
| 
       439 
     | 
    
         
            -
                    else
         
     | 
| 
       440 
     | 
    
         
            -
                      app_version = @ipa.fetch_app_version
         
     | 
| 
       441 
445 
     | 
    
         
             
                    end
         
     | 
| 
       442 
     | 
    
         
            -
                    return app_version
         
     | 
| 
       443 
446 
     | 
    
         
             
                  end
         
     | 
| 
       444 
447 
     | 
    
         
             
              end
         
     | 
| 
       445 
448 
     | 
    
         
             
            end
         
     | 
    
        data/lib/deliver/ipa_uploader.rb
    CHANGED
    
    | 
         @@ -94,6 +94,15 @@ module Deliver 
     | 
|
| 
       94 
94 
     | 
    
         
             
                    else
         
     | 
| 
       95 
95 
     | 
    
         
             
                      Helper.log.info "deliver will **not** submit the app for Review or for TestFlight distribution".yellow
         
     | 
| 
       96 
96 
     | 
    
         
             
                      Helper.log.info "If you want to distribute the binary, don't define `skip_deploy` ".yellow
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                      if ENV["DELIVER_WHAT_TO_TEST"] or ENV["DELIVER_BETA_DESCRIPTION"] or ENV["DELIVER_BETA_FEEDBACK_EMAIL"]
         
     | 
| 
      
 99 
     | 
    
         
            +
                        Helper.log.warn "---------------------------------------------------".yellow
         
     | 
| 
      
 100 
     | 
    
         
            +
                        Helper.log.warn "You provided beta version metadata, but used the ".yellow
         
     | 
| 
      
 101 
     | 
    
         
            +
                        Helper.log.warn "`skip_deploy` option when running deliver.".yellow
         
     | 
| 
      
 102 
     | 
    
         
            +
                        Helper.log.warn "You have to remove `skip_deploy` to set a changelog".yellow
         
     | 
| 
      
 103 
     | 
    
         
            +
                        Helper.log.warn "for TestFlight builds".yellow
         
     | 
| 
      
 104 
     | 
    
         
            +
                        Helper.log.warn "---------------------------------------------------".yellow
         
     | 
| 
      
 105 
     | 
    
         
            +
                      end
         
     | 
| 
       97 
106 
     | 
    
         
             
                    end
         
     | 
| 
       98 
107 
     | 
    
         
             
                    return true
         
     | 
| 
       99 
108 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -44,16 +44,7 @@ module Deliver 
     | 
|
| 
       44 
44 
     | 
    
         
             
                  begin
         
     | 
| 
       45 
45 
     | 
    
         
             
                    verify_app(app)
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
     | 
    
         
            -
                     
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                    begin
         
     | 
| 
       50 
     | 
    
         
            -
                      version_number = wait_for_elements("input[ng-model='versionInfo.version.value']").first.value
         
     | 
| 
       51 
     | 
    
         
            -
                      version_number ||= first(".status.ready").text.split(" ").first
         
     | 
| 
       52 
     | 
    
         
            -
                      return version_number
         
     | 
| 
       53 
     | 
    
         
            -
                    rescue
         
     | 
| 
       54 
     | 
    
         
            -
                      Helper.log.debug "Could not fetch version number of the live version for app #{app}."
         
     | 
| 
       55 
     | 
    
         
            -
                      return nil
         
     | 
| 
       56 
     | 
    
         
            -
                    end
         
     | 
| 
      
 47 
     | 
    
         
            +
                    return (get_app_information(app)['version']['value'] rescue nil)
         
     | 
| 
       57 
48 
     | 
    
         
             
                  rescue => ex
         
     | 
| 
       58 
49 
     | 
    
         
             
                    error_occured(ex)
         
     | 
| 
       59 
50 
     | 
    
         
             
                  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.11.1 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.11.1
         
     | 
| 
       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-05- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-05-21 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: fastlane_core
         
     | 
| 
         @@ -193,7 +193,7 @@ dependencies: 
     | 
|
| 
       193 
193 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       194 
194 
     | 
    
         
             
                    version: 1.19.0
         
     | 
| 
       195 
195 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       196 
     | 
    
         
            -
              name:  
     | 
| 
      
 196 
     | 
    
         
            +
              name: coveralls
         
     | 
| 
       197 
197 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       198 
198 
     | 
    
         
             
                requirements:
         
     | 
| 
       199 
199 
     | 
    
         
             
                - - '>='
         
     | 
| 
         @@ -267,9 +267,9 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       267 
267 
     | 
    
         
             
                  version: 2.0.0
         
     | 
| 
       268 
268 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       269 
269 
     | 
    
         
             
              requirements:
         
     | 
| 
       270 
     | 
    
         
            -
              - - ' 
     | 
| 
      
 270 
     | 
    
         
            +
              - - '>='
         
     | 
| 
       271 
271 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       272 
     | 
    
         
            -
                  version:  
     | 
| 
      
 272 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
       273 
273 
     | 
    
         
             
            requirements: []
         
     | 
| 
       274 
274 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       275 
275 
     | 
    
         
             
            rubygems_version: 2.2.2
         
     |