deliver 1.14.5 → 1.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/deliver/commands_generator.rb +35 -14
- data/lib/deliver/detect_values.rb +8 -2
- data/lib/deliver/options.rb +5 -0
- data/lib/deliver/runner.rb +2 -2
- data/lib/deliver/upload_screenshots.rb +21 -9
- 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: 567c701cbd4630a8b139b6278f6e5cb49c5b0dfe
|
4
|
+
data.tar.gz: a761b179cc3bca74f4494ba076e4ab5047f334c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0009f8d3812b6b22d7a5143ed3cf6c7ac92ac97cd1fa141508b5298ab752838284dd3068ab84f01e392d8184b98e5f0b11c11bc44630b940074ed53f903722a
|
7
|
+
data.tar.gz: d9ac5993789ba8dc0c6da99c7d9dc1ac056c01702acea60d51091b022bfeb1927524229ddc6a185251f6ba8e113177b905595211ac30a6422b3c2e82ad035417
|
data/README.md
CHANGED
@@ -14,6 +14,22 @@ module Deliver
|
|
14
14
|
FastlaneCore::UpdateChecker.show_update_status('deliver', Deliver::VERSION)
|
15
15
|
end
|
16
16
|
|
17
|
+
def deliverfile_options(skip_verification: false)
|
18
|
+
available_options = Deliver::Options.available_options
|
19
|
+
return available_options unless skip_verification
|
20
|
+
|
21
|
+
# These don't matter for downloading metadata, so verification can be skipped
|
22
|
+
irrelevant_options_keys = [:ipa, :pkg, :app_rating_config_path]
|
23
|
+
|
24
|
+
available_options.each do |opt|
|
25
|
+
next unless irrelevant_options_keys.include?(opt.key)
|
26
|
+
opt.verify_block = nil
|
27
|
+
opt.conflicting_options = nil
|
28
|
+
end
|
29
|
+
|
30
|
+
return available_options
|
31
|
+
end
|
32
|
+
|
17
33
|
def run
|
18
34
|
program :version, Deliver::VERSION
|
19
35
|
program :description, Deliver::DESCRIPTION
|
@@ -22,7 +38,7 @@ module Deliver
|
|
22
38
|
program :help, 'GitHub', 'https://github.com/fastlane/fastlane/tree/master/deliver'
|
23
39
|
program :help_formatter, :compact
|
24
40
|
|
25
|
-
FastlaneCore::CommanderGenerator.new.generate(
|
41
|
+
FastlaneCore::CommanderGenerator.new.generate(deliverfile_options)
|
26
42
|
|
27
43
|
global_option('--verbose') { $verbose = true }
|
28
44
|
|
@@ -32,7 +48,7 @@ module Deliver
|
|
32
48
|
c.syntax = 'deliver'
|
33
49
|
c.description = 'Upload metadata and binary to iTunes Connect'
|
34
50
|
c.action do |args, options|
|
35
|
-
options = FastlaneCore::Configuration.create(
|
51
|
+
options = FastlaneCore::Configuration.create(deliverfile_options, options.__hash__)
|
36
52
|
loaded = options.load_configuration_file("Deliverfile")
|
37
53
|
loaded = true if options[:description] || options[:ipa] || options[:pkg] # do we have *anything* here?
|
38
54
|
unless loaded
|
@@ -51,7 +67,7 @@ module Deliver
|
|
51
67
|
c.syntax = 'deliver submit_build'
|
52
68
|
c.description = 'Submit a specific build-nr for review, use latest for the latest build'
|
53
69
|
c.action do |args, options|
|
54
|
-
options = FastlaneCore::Configuration.create(
|
70
|
+
options = FastlaneCore::Configuration.create(deliverfile_options, options.__hash__)
|
55
71
|
options.load_configuration_file("Deliverfile")
|
56
72
|
options[:submit_for_review] = true
|
57
73
|
options[:build_number] = "latest" unless options[:build_number]
|
@@ -68,7 +84,7 @@ module Deliver
|
|
68
84
|
end
|
69
85
|
|
70
86
|
require 'deliver/setup'
|
71
|
-
options = FastlaneCore::Configuration.create(
|
87
|
+
options = FastlaneCore::Configuration.create(deliverfile_options, options.__hash__)
|
72
88
|
Deliver::Runner.new(options) # to login...
|
73
89
|
Deliver::Setup.new.run(options)
|
74
90
|
end
|
@@ -78,7 +94,7 @@ module Deliver
|
|
78
94
|
c.syntax = 'deliver generate_summary'
|
79
95
|
c.description = 'Generate HTML Summary without uploading/downloading anything'
|
80
96
|
c.action do |args, options|
|
81
|
-
options = FastlaneCore::Configuration.create(
|
97
|
+
options = FastlaneCore::Configuration.create(deliverfile_options, options.__hash__)
|
82
98
|
options.load_configuration_file("Deliverfile")
|
83
99
|
Deliver::Runner.new(options)
|
84
100
|
html_path = Deliver::GenerateSummary.new.run(options)
|
@@ -92,9 +108,9 @@ module Deliver
|
|
92
108
|
c.description = "Downloads all existing screenshots from iTunes Connect and stores them in the screenshots folder"
|
93
109
|
|
94
110
|
c.action do |args, options|
|
95
|
-
options = FastlaneCore::Configuration.create(
|
111
|
+
options = FastlaneCore::Configuration.create(deliverfile_options(skip_verification: true), options.__hash__)
|
96
112
|
options.load_configuration_file("Deliverfile")
|
97
|
-
Deliver::Runner.new(options) # to login...
|
113
|
+
Deliver::Runner.new(options, skip_version: true) # to login...
|
98
114
|
containing = FastlaneCore::Helper.fastlane_enabled? ? './fastlane' : '.'
|
99
115
|
path = options[:screenshots_path] || File.join(containing, 'screenshots')
|
100
116
|
Deliver::DownloadScreenshots.run(options, path)
|
@@ -106,20 +122,25 @@ module Deliver
|
|
106
122
|
c.description = "Downloads existing metadata and stores it locally. This overwrites the local files."
|
107
123
|
|
108
124
|
c.action do |args, options|
|
109
|
-
options = FastlaneCore::Configuration.create(
|
125
|
+
options = FastlaneCore::Configuration.create(deliverfile_options(skip_verification: true), options.__hash__)
|
110
126
|
options.load_configuration_file("Deliverfile")
|
111
127
|
Deliver::Runner.new(options) # to login...
|
112
128
|
containing = FastlaneCore::Helper.fastlane_enabled? ? './fastlane' : '.'
|
113
129
|
path = options[:metadata_path] || File.join(containing, 'metadata')
|
114
130
|
res = ENV["DELIVER_FORCE_OVERWRITE"]
|
115
131
|
res ||= UI.confirm("Do you want to overwrite existing metadata on path '#{File.expand_path(path)}'?")
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
132
|
+
return 0 unless res
|
133
|
+
|
134
|
+
require 'deliver/setup'
|
135
|
+
v = options[:app].latest_version
|
136
|
+
if options[:app_version].to_s.length > 0
|
137
|
+
v = options[:app].live_version if v.version != options[:app_version]
|
138
|
+
if v.version != options[:app_version]
|
139
|
+
raise "Neither the current nor live version match specified app_version \"#{options[:app_version]}\""
|
140
|
+
end
|
122
141
|
end
|
142
|
+
|
143
|
+
Deliver::Setup.new.generate_metadata_files(v, path)
|
123
144
|
end
|
124
145
|
end
|
125
146
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
module Deliver
|
2
2
|
class DetectValues
|
3
|
-
def run!(options)
|
3
|
+
def run!(options, skip_params = {})
|
4
4
|
find_app_identifier(options)
|
5
5
|
find_app(options)
|
6
6
|
find_folders(options)
|
7
|
-
find_version(options)
|
7
|
+
find_version(options) unless skip_params[:skip_version]
|
8
8
|
end
|
9
9
|
|
10
10
|
def find_app_identifier(options)
|
@@ -18,6 +18,8 @@ module Deliver
|
|
18
18
|
|
19
19
|
options[:app_identifier] = identifier if identifier.to_s.length > 0
|
20
20
|
options[:app_identifier] ||= UI.input("The Bundle Identifier of your App: ")
|
21
|
+
rescue
|
22
|
+
UI.user_error!("Could not infer your App's Bundle Identifier")
|
21
23
|
end
|
22
24
|
|
23
25
|
def find_app(options)
|
@@ -41,11 +43,15 @@ module Deliver
|
|
41
43
|
end
|
42
44
|
|
43
45
|
def find_version(options)
|
46
|
+
return if options[:app_version]
|
47
|
+
|
44
48
|
if options[:ipa]
|
45
49
|
options[:app_version] ||= FastlaneCore::IpaFileAnalyser.fetch_app_version(options[:ipa])
|
46
50
|
elsif options[:pkg]
|
47
51
|
options[:app_version] ||= FastlaneCore::PkgFileAnalyser.fetch_app_version(options[:pkg])
|
48
52
|
end
|
53
|
+
rescue
|
54
|
+
UI.user_error!("Could not infer your app's version")
|
49
55
|
end
|
50
56
|
end
|
51
57
|
end
|
data/lib/deliver/options.rb
CHANGED
@@ -159,6 +159,11 @@ module Deliver
|
|
159
159
|
env_name: "DELIVER_ITC_PROVIDER",
|
160
160
|
description: "The provider short name to be used with the iTMSTransporter to identify your team",
|
161
161
|
optional: true),
|
162
|
+
FastlaneCore::ConfigItem.new(key: :overwrite_screenshots,
|
163
|
+
env_name: "DELIVER_OVERWRITE_SCREENSHOTS",
|
164
|
+
description: "Clear all previously uploaded screenshots before uploading the new ones",
|
165
|
+
is_string: false,
|
166
|
+
default_value: false),
|
162
167
|
|
163
168
|
# App Metadata
|
164
169
|
# Non Localised
|
data/lib/deliver/runner.rb
CHANGED
@@ -2,10 +2,10 @@ module Deliver
|
|
2
2
|
class Runner
|
3
3
|
attr_accessor :options
|
4
4
|
|
5
|
-
def initialize(options)
|
5
|
+
def initialize(options, skip_auto_detection = {})
|
6
6
|
self.options = options
|
7
7
|
login
|
8
|
-
Deliver::DetectValues.new.run!(self.options)
|
8
|
+
Deliver::DetectValues.new.run!(self.options, skip_auto_detection)
|
9
9
|
FastlaneCore::PrintTable.print_values(config: options, hide_keys: [:app], mask_keys: ['app_review_information.demo_password'], title: "deliver #{Deliver::VERSION} Summary")
|
10
10
|
end
|
11
11
|
|
@@ -10,20 +10,32 @@ module Deliver
|
|
10
10
|
UI.user_error!("Could not find a version to edit for app '#{app.name}'") unless v
|
11
11
|
|
12
12
|
UI.message("Starting with the upload of screenshots...")
|
13
|
+
screenshots_per_language = screenshots.group_by(&:language)
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
15
|
+
if options[:overwrite_screenshots]
|
16
|
+
UI.message("Removing all previously uploaded screenshots...")
|
17
|
+
# First, clear all previously uploaded screenshots
|
18
|
+
screenshots_per_language.keys.each do |language|
|
19
|
+
v.screenshots[language].each_with_index do |t, index|
|
20
|
+
v.upload_screenshot!(nil, index, t.language, t.device_type)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
22
24
|
|
23
25
|
# Now, fill in the new ones
|
24
26
|
indized = {} # per language and device type
|
25
27
|
|
26
|
-
|
28
|
+
enabled_languages = screenshots_per_language.keys
|
29
|
+
if enabled_languages.count > 0
|
30
|
+
v.create_languages(enabled_languages)
|
31
|
+
lng_text = "language"
|
32
|
+
lng_text += "s" if enabled_languages.count != 1
|
33
|
+
UI.message("Activating #{lng_text} #{enabled_languages.join(', ')}...")
|
34
|
+
v.save!
|
35
|
+
# This refreshes the app version from iTC after enabling a localization
|
36
|
+
v = app.edit_version
|
37
|
+
end
|
38
|
+
|
27
39
|
screenshots_per_language.each do |language, screenshots_for_language|
|
28
40
|
UI.message("Uploading #{screenshots_for_language.length} screenshots for language #{language}")
|
29
41
|
screenshots_for_language.each do |screenshot|
|
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: 1.
|
4
|
+
version: 1.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fastlane_core
|
@@ -56,7 +56,7 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
59
|
+
version: 0.37.0
|
60
60
|
- - "<"
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 1.0.0
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
requirements:
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
69
|
+
version: 0.37.0
|
70
70
|
- - "<"
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 1.0.0
|
@@ -310,7 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
310
|
version: '0'
|
311
311
|
requirements: []
|
312
312
|
rubyforge_project:
|
313
|
-
rubygems_version: 2.
|
313
|
+
rubygems_version: 2.5.1
|
314
314
|
signing_key:
|
315
315
|
specification_version: 4
|
316
316
|
summary: Upload screenshots, metadata and your app to the App Store using a single
|