deliver 1.14.5 → 1.15.0
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 +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
|