fastlane 2.102.0 → 2.103.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 +74 -74
- data/credentials_manager/lib/credentials_manager/account_manager.rb +9 -4
- data/deliver/lib/assets/DeliverfileDefault.swift +10 -0
- data/deliver/lib/assets/summary.html.erb +3 -3
- data/deliver/lib/deliver/html_generator.rb +9 -0
- data/deliver/lib/deliver/options.rb +56 -35
- data/deliver/lib/deliver/setup.rb +1 -2
- data/deliver/lib/deliver/submit_for_review.rb +2 -2
- data/deliver/lib/deliver/upload_metadata.rb +1 -1
- data/fastlane/lib/fastlane/action.rb +1 -0
- data/fastlane/lib/fastlane/actions/actions_helper.rb +11 -1
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +11 -3
- data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +1 -1
- data/fastlane/lib/fastlane/actions/create_app_online.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +15 -1
- data/fastlane/lib/fastlane/actions/docs/create_app_online.md +21 -0
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +1 -1
- data/fastlane/lib/fastlane/actions/gradle.rb +4 -0
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +1 -1
- data/fastlane/lib/fastlane/actions/set_changelog.rb +1 -1
- data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +2 -0
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +1 -0
- data/fastlane/lib/fastlane/setup/setup_ios.rb +7 -5
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +13 -13
- data/fastlane/swift/Fastlane.swift +45 -43
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane_core/lib/fastlane_core/command_executor.rb +9 -14
- data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +12 -3
- data/fastlane_core/lib/fastlane_core/helper.rb +22 -10
- data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +1 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +22 -15
- data/pilot/lib/pilot/build_manager.rb +1 -1
- data/pilot/lib/pilot/tester_importer.rb +2 -2
- data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +3 -3
- data/produce/lib/produce/cloud_container.rb +82 -0
- data/produce/lib/produce/commands_generator.rb +34 -0
- data/produce/lib/produce/itunes_connect.rb +1 -1
- data/snapshot/lib/snapshot/commands_generator.rb +0 -2
- data/snapshot/lib/snapshot/reports_generator.rb +8 -3
- data/snapshot/lib/snapshot/runner.rb +9 -0
- data/spaceship/README.md +2 -2
- data/spaceship/lib/spaceship/client.rb +6 -2
- data/spaceship/lib/spaceship/errors.rb +3 -0
- data/spaceship/lib/spaceship/portal/app.rb +22 -1
- data/spaceship/lib/spaceship/portal/cloud_container.rb +74 -0
- data/spaceship/lib/spaceship/portal/portal.rb +1 -0
- data/spaceship/lib/spaceship/portal/portal_client.rb +45 -4
- data/spaceship/lib/spaceship/portal/spaceship.rb +9 -0
- data/spaceship/lib/spaceship/test_flight/client.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_ratings.rb +2 -2
- data/spaceship/lib/spaceship/tunes/app_submission.rb +9 -3
- data/spaceship/lib/spaceship/tunes/app_version.rb +1 -1
- data/spaceship/lib/spaceship/tunes/application.rb +4 -4
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +13 -2
- data/supply/lib/supply/client.rb +0 -1
- metadata +22 -20
@@ -126,8 +126,7 @@ module Deliver
|
|
126
126
|
end
|
127
127
|
end
|
128
128
|
|
129
|
-
def download_screenshots(
|
130
|
-
path = File.join(deliver_path, 'screenshots')
|
129
|
+
def download_screenshots(path, options)
|
131
130
|
FileUtils.mkdir_p(path)
|
132
131
|
Deliver::DownloadScreenshots.run(options, path)
|
133
132
|
end
|
@@ -7,7 +7,7 @@ module Deliver
|
|
7
7
|
select_build(options)
|
8
8
|
|
9
9
|
UI.message("Submitting the app for review...")
|
10
|
-
submission = app.create_submission
|
10
|
+
submission = app.create_submission(platform: options[:platform])
|
11
11
|
|
12
12
|
# Set app submission information
|
13
13
|
# Default Values
|
@@ -31,7 +31,7 @@ module Deliver
|
|
31
31
|
|
32
32
|
def select_build(options)
|
33
33
|
app = options[:app]
|
34
|
-
v = app.edit_version
|
34
|
+
v = app.edit_version(platform: options[:platform])
|
35
35
|
|
36
36
|
if options[:build_number] && options[:build_number] != "latest"
|
37
37
|
UI.message("Selecting existing build-number: #{options[:build_number]}")
|
@@ -226,7 +226,7 @@ module Deliver
|
|
226
226
|
# Collect all languages we need
|
227
227
|
# We only care about languages from user provided values
|
228
228
|
# as the other languages are on iTC already anyway
|
229
|
-
v = options[:app].edit_version
|
229
|
+
v = options[:app].edit_version(platform: options[:platform])
|
230
230
|
UI.user_error!("Could not find a version to edit for app '#{options[:app].name}', the app metadata is read-only currently") unless v
|
231
231
|
|
232
232
|
enabled_languages = options[:languages] || []
|
@@ -106,7 +106,17 @@ module Fastlane
|
|
106
106
|
UI.user_error!("You need to pass a valid path") unless File.exist?(path)
|
107
107
|
|
108
108
|
Dir[File.expand_path('*.rb', path)].each do |file|
|
109
|
-
|
109
|
+
begin
|
110
|
+
require file
|
111
|
+
rescue SyntaxError => ex
|
112
|
+
content = File.read(file, encoding: "utf-8")
|
113
|
+
ex.to_s.lines
|
114
|
+
.collect { |error| error.match(/#{file}:(\d+):(.*)/) }
|
115
|
+
.reject(&:nil?)
|
116
|
+
.each { |error| UI.content_error(content, error[1]) }
|
117
|
+
UI.user_error!("Syntax error in #{File.basename(file)}")
|
118
|
+
next
|
119
|
+
end
|
110
120
|
|
111
121
|
file_name = File.basename(file).gsub('.rb', '')
|
112
122
|
|
@@ -45,9 +45,11 @@ module Fastlane
|
|
45
45
|
changelog = changelog.gsub("\n\n", "\n") if changelog # as there are duplicate newlines
|
46
46
|
Actions.lane_context[SharedValues::FL_CHANGELOG] = changelog
|
47
47
|
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
if params[:quiet] == false
|
49
|
+
puts("")
|
50
|
+
puts(changelog)
|
51
|
+
puts("")
|
52
|
+
end
|
51
53
|
|
52
54
|
changelog
|
53
55
|
end
|
@@ -128,6 +130,12 @@ module Fastlane
|
|
128
130
|
optional: true,
|
129
131
|
default_value: true,
|
130
132
|
is_string: false),
|
133
|
+
FastlaneCore::ConfigItem.new(key: :quiet,
|
134
|
+
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_TAG_QUIET',
|
135
|
+
description: 'Whether or not to disbale changelog output',
|
136
|
+
optional: true,
|
137
|
+
default_value: false,
|
138
|
+
is_string: false),
|
131
139
|
FastlaneCore::ConfigItem.new(key: :include_merges,
|
132
140
|
deprecated: "Use `:merge_commit_filtering` instead",
|
133
141
|
env_name: 'FL_CHANGELOG_FROM_GIT_COMMITS_INCLUDE_MERGES',
|
@@ -55,7 +55,21 @@ Ensure that the following permissions exist in your **src/debug/AndroidManifest.
|
|
55
55
|
|
56
56
|
# Generating Screenshots with Screengrab
|
57
57
|
- Then, before running `fastlane screengrab` you'll need a debug and test apk
|
58
|
-
- You can create your APKs with `./gradlew assembleDebug assembleAndroidTest`
|
58
|
+
- You can create your APKs manually with `./gradlew assembleDebug assembleAndroidTest`
|
59
|
+
- You can also create a lane and use `build_android_app`:
|
60
|
+
```ruby
|
61
|
+
desc "Build debug and test APK for screenshots"
|
62
|
+
lane :build_for_screengrab do
|
63
|
+
build_android_app(
|
64
|
+
task: 'assemble',
|
65
|
+
build_type: 'Debug'
|
66
|
+
)
|
67
|
+
build_android_app(
|
68
|
+
task: 'assemble',
|
69
|
+
build_type: 'AndroidTest'
|
70
|
+
)
|
71
|
+
end
|
72
|
+
```
|
59
73
|
- Once complete run `fastlane screengrab` in your app project directory to generate screenshots
|
60
74
|
- You will be prompted to provide any required parameters which are not in your **Screengrabfile** or provided as command line arguments
|
61
75
|
- Your screenshots will be saved to `fastlane/metadata/android` in the directory where you ran _screengrab_
|
@@ -22,6 +22,8 @@ _produce_ creates new iOS apps on both the Apple Developer Portal and App Store
|
|
22
22
|
- **Modify** Application Services on the Apple Developer Portal
|
23
23
|
- **Create** App Groups on the Apple Developer Portal
|
24
24
|
- **Associate** apps with App Groups on the Apple Developer Portal
|
25
|
+
- **Create** iCloud Containers on the Apple Developer Portal
|
26
|
+
- **Associate** apps with iCloud Containers on the Apple Developer Portal
|
25
27
|
- **Create** Merchant Identifiers on the Apple Developer Portal
|
26
28
|
- **Associate** apps with Merchant Identifiers on the Apple Developer Portal
|
27
29
|
- Support for **multiple Apple accounts**, storing your credentials securely in the Keychain
|
@@ -48,6 +50,7 @@ Commands: (* default)
|
|
48
50
|
disable_services Disable specific Application Services for a specific app on the Apple Developer Portal
|
49
51
|
enable_services Enable specific Application Services for a specific app on the Apple Developer Portal
|
50
52
|
group Ensure that a specific App Group exists
|
53
|
+
cloud_container Ensure that a specific iCloud Container exists
|
51
54
|
help Display global or [command] help documentation
|
52
55
|
merchant Ensure that a specific Merchant exists
|
53
56
|
|
@@ -101,6 +104,24 @@ If you want to associate an app with an App Group:
|
|
101
104
|
fastlane produce associate_group -a com.krausefx.app group.krausefx
|
102
105
|
```
|
103
106
|
|
107
|
+
If you want to create a new iCloud Container:
|
108
|
+
|
109
|
+
```no-highlight
|
110
|
+
fastlane produce cloud_container -ci iCloud.com.krausefx.app -n "Example iCloud Container"
|
111
|
+
```
|
112
|
+
|
113
|
+
If you want to associate an app with an iCloud Container:
|
114
|
+
|
115
|
+
```no-highlight
|
116
|
+
fastlane produce associate_cloud_container -a com.krausefx.app iCloud.com.krausefx.app
|
117
|
+
```
|
118
|
+
|
119
|
+
If you want to associate an app with multiple iCloud Containers:
|
120
|
+
|
121
|
+
```no-highlight
|
122
|
+
fastlane produce associate_cloud_container -a com.krausefx.app iCloud.com.krausefx.app1 iCloud.com.krausefx.app2
|
123
|
+
```
|
124
|
+
|
104
125
|
# Parameters
|
105
126
|
|
106
127
|
Get a list of all available options using
|
@@ -470,14 +470,16 @@ module Fastlane
|
|
470
470
|
produce_options[:skip_devcenter] = true
|
471
471
|
end
|
472
472
|
|
473
|
-
Produce.config = FastlaneCore::Configuration.create(
|
474
|
-
Produce::Options.available_options,
|
475
|
-
produce_options
|
476
|
-
)
|
477
|
-
|
478
473
|
# The retrying system allows people to correct invalid inputs
|
479
474
|
# e.g. the app's name is already taken
|
480
475
|
loop do
|
476
|
+
# Creating config in the loop so user will be reprompted
|
477
|
+
# for app name if app name is taken or too long
|
478
|
+
Produce.config = FastlaneCore::Configuration.create(
|
479
|
+
Produce::Options.available_options,
|
480
|
+
produce_options
|
481
|
+
)
|
482
|
+
|
481
483
|
begin
|
482
484
|
Produce::Manager.start_producing
|
483
485
|
UI.success("✅ Successfully created app")
|
@@ -1,27 +1,27 @@
|
|
1
1
|
protocol DeliverfileProtocol: class {
|
2
2
|
var username: String { get }
|
3
3
|
var appIdentifier: String? { get }
|
4
|
-
var
|
5
|
-
var editLive: Bool { get }
|
4
|
+
var appVersion: String? { get }
|
6
5
|
var ipa: String? { get }
|
7
6
|
var pkg: String? { get }
|
7
|
+
var buildNumber: String? { get }
|
8
8
|
var platform: String { get }
|
9
|
+
var editLive: Bool { get }
|
10
|
+
var useLiveVersion: Bool { get }
|
9
11
|
var metadataPath: String? { get }
|
10
12
|
var screenshotsPath: String? { get }
|
11
13
|
var skipBinaryUpload: Bool { get }
|
12
|
-
var useLiveVersion: Bool { get }
|
13
14
|
var skipScreenshots: Bool { get }
|
14
|
-
var appVersion: String? { get }
|
15
15
|
var skipMetadata: Bool { get }
|
16
16
|
var skipAppVersionUpdate: Bool { get }
|
17
17
|
var force: Bool { get }
|
18
|
+
var overwriteScreenshots: Bool { get }
|
18
19
|
var submitForReview: Bool { get }
|
19
20
|
var rejectIfPossible: Bool { get }
|
20
21
|
var automaticRelease: Bool { get }
|
21
22
|
var autoReleaseDate: String? { get }
|
22
23
|
var phasedRelease: Bool { get }
|
23
24
|
var priceTier: String? { get }
|
24
|
-
var buildNumber: String? { get }
|
25
25
|
var appRatingConfigPath: String? { get }
|
26
26
|
var submissionInformation: String? { get }
|
27
27
|
var teamId: String? { get }
|
@@ -29,7 +29,6 @@ protocol DeliverfileProtocol: class {
|
|
29
29
|
var devPortalTeamId: String? { get }
|
30
30
|
var devPortalTeamName: String? { get }
|
31
31
|
var itcProvider: String? { get }
|
32
|
-
var overwriteScreenshots: Bool { get }
|
33
32
|
var runPrecheckBeforeSubmit: Bool { get }
|
34
33
|
var precheckDefaultRuleLevel: String { get }
|
35
34
|
var appIcon: String? { get }
|
@@ -55,32 +54,33 @@ protocol DeliverfileProtocol: class {
|
|
55
54
|
var languages: [String]? { get }
|
56
55
|
var ignoreLanguageDirectoryValidation: Bool { get }
|
57
56
|
var precheckIncludeInAppPurchases: Bool { get }
|
57
|
+
var app: String { get }
|
58
58
|
}
|
59
59
|
|
60
60
|
extension DeliverfileProtocol {
|
61
61
|
var username: String { return "" }
|
62
62
|
var appIdentifier: String? { return nil }
|
63
|
-
var
|
64
|
-
var editLive: Bool { return false }
|
63
|
+
var appVersion: String? { return nil }
|
65
64
|
var ipa: String? { return nil }
|
66
65
|
var pkg: String? { return nil }
|
66
|
+
var buildNumber: String? { return nil }
|
67
67
|
var platform: String { return "ios" }
|
68
|
+
var editLive: Bool { return false }
|
69
|
+
var useLiveVersion: Bool { return false }
|
68
70
|
var metadataPath: String? { return nil }
|
69
71
|
var screenshotsPath: String? { return nil }
|
70
72
|
var skipBinaryUpload: Bool { return false }
|
71
|
-
var useLiveVersion: Bool { return false }
|
72
73
|
var skipScreenshots: Bool { return false }
|
73
|
-
var appVersion: String? { return nil }
|
74
74
|
var skipMetadata: Bool { return false }
|
75
75
|
var skipAppVersionUpdate: Bool { return false }
|
76
76
|
var force: Bool { return false }
|
77
|
+
var overwriteScreenshots: Bool { return false }
|
77
78
|
var submitForReview: Bool { return false }
|
78
79
|
var rejectIfPossible: Bool { return false }
|
79
80
|
var automaticRelease: Bool { return false }
|
80
81
|
var autoReleaseDate: String? { return nil }
|
81
82
|
var phasedRelease: Bool { return false }
|
82
83
|
var priceTier: String? { return nil }
|
83
|
-
var buildNumber: String? { return nil }
|
84
84
|
var appRatingConfigPath: String? { return nil }
|
85
85
|
var submissionInformation: String? { return nil }
|
86
86
|
var teamId: String? { return nil }
|
@@ -88,7 +88,6 @@ extension DeliverfileProtocol {
|
|
88
88
|
var devPortalTeamId: String? { return nil }
|
89
89
|
var devPortalTeamName: String? { return nil }
|
90
90
|
var itcProvider: String? { return nil }
|
91
|
-
var overwriteScreenshots: Bool { return false }
|
92
91
|
var runPrecheckBeforeSubmit: Bool { return true }
|
93
92
|
var precheckDefaultRuleLevel: String { return "warn" }
|
94
93
|
var appIcon: String? { return nil }
|
@@ -114,8 +113,9 @@ extension DeliverfileProtocol {
|
|
114
113
|
var languages: [String]? { return nil }
|
115
114
|
var ignoreLanguageDirectoryValidation: Bool { return false }
|
116
115
|
var precheckIncludeInAppPurchases: Bool { return true }
|
116
|
+
var app: String { return "" }
|
117
117
|
}
|
118
118
|
|
119
119
|
// Please don't remove the lines below
|
120
120
|
// They are used to detect outdated files
|
121
|
-
// FastlaneRunnerAPIVersion [0.9.
|
121
|
+
// FastlaneRunnerAPIVersion [0.9.4]
|
@@ -223,27 +223,27 @@ func appledoc(input: String,
|
|
223
223
|
}
|
224
224
|
func appstore(username: String,
|
225
225
|
appIdentifier: String? = nil,
|
226
|
-
|
227
|
-
editLive: Bool = false,
|
226
|
+
appVersion: String? = nil,
|
228
227
|
ipa: String? = nil,
|
229
228
|
pkg: String? = nil,
|
229
|
+
buildNumber: String? = nil,
|
230
230
|
platform: String = "ios",
|
231
|
+
editLive: Bool = false,
|
232
|
+
useLiveVersion: Bool = false,
|
231
233
|
metadataPath: String? = nil,
|
232
234
|
screenshotsPath: String? = nil,
|
233
235
|
skipBinaryUpload: Bool = false,
|
234
|
-
useLiveVersion: Bool = false,
|
235
236
|
skipScreenshots: Bool = false,
|
236
|
-
appVersion: String? = nil,
|
237
237
|
skipMetadata: Bool = false,
|
238
238
|
skipAppVersionUpdate: Bool = false,
|
239
239
|
force: Bool = false,
|
240
|
+
overwriteScreenshots: Bool = false,
|
240
241
|
submitForReview: Bool = false,
|
241
242
|
rejectIfPossible: Bool = false,
|
242
243
|
automaticRelease: Bool = false,
|
243
244
|
autoReleaseDate: String? = nil,
|
244
245
|
phasedRelease: Bool = false,
|
245
246
|
priceTier: String? = nil,
|
246
|
-
buildNumber: String? = nil,
|
247
247
|
appRatingConfigPath: String? = nil,
|
248
248
|
submissionInformation: String? = nil,
|
249
249
|
teamId: String? = nil,
|
@@ -251,7 +251,6 @@ func appstore(username: String,
|
|
251
251
|
devPortalTeamId: String? = nil,
|
252
252
|
devPortalTeamName: String? = nil,
|
253
253
|
itcProvider: String? = nil,
|
254
|
-
overwriteScreenshots: Bool = false,
|
255
254
|
runPrecheckBeforeSubmit: Bool = true,
|
256
255
|
precheckDefaultRuleLevel: String = "warn",
|
257
256
|
appIcon: String? = nil,
|
@@ -276,30 +275,31 @@ func appstore(username: String,
|
|
276
275
|
marketingUrl: String? = nil,
|
277
276
|
languages: [String]? = nil,
|
278
277
|
ignoreLanguageDirectoryValidation: Bool = false,
|
279
|
-
precheckIncludeInAppPurchases: Bool = true
|
278
|
+
precheckIncludeInAppPurchases: Bool = true,
|
279
|
+
app: String) {
|
280
280
|
let command = RubyCommand(commandID: "", methodName: "appstore", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
|
281
281
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
282
|
-
RubyCommand.Argument(name: "
|
283
|
-
RubyCommand.Argument(name: "edit_live", value: editLive),
|
282
|
+
RubyCommand.Argument(name: "app_version", value: appVersion),
|
284
283
|
RubyCommand.Argument(name: "ipa", value: ipa),
|
285
284
|
RubyCommand.Argument(name: "pkg", value: pkg),
|
285
|
+
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
286
286
|
RubyCommand.Argument(name: "platform", value: platform),
|
287
|
+
RubyCommand.Argument(name: "edit_live", value: editLive),
|
288
|
+
RubyCommand.Argument(name: "use_live_version", value: useLiveVersion),
|
287
289
|
RubyCommand.Argument(name: "metadata_path", value: metadataPath),
|
288
290
|
RubyCommand.Argument(name: "screenshots_path", value: screenshotsPath),
|
289
291
|
RubyCommand.Argument(name: "skip_binary_upload", value: skipBinaryUpload),
|
290
|
-
RubyCommand.Argument(name: "use_live_version", value: useLiveVersion),
|
291
292
|
RubyCommand.Argument(name: "skip_screenshots", value: skipScreenshots),
|
292
|
-
RubyCommand.Argument(name: "app_version", value: appVersion),
|
293
293
|
RubyCommand.Argument(name: "skip_metadata", value: skipMetadata),
|
294
294
|
RubyCommand.Argument(name: "skip_app_version_update", value: skipAppVersionUpdate),
|
295
295
|
RubyCommand.Argument(name: "force", value: force),
|
296
|
+
RubyCommand.Argument(name: "overwrite_screenshots", value: overwriteScreenshots),
|
296
297
|
RubyCommand.Argument(name: "submit_for_review", value: submitForReview),
|
297
298
|
RubyCommand.Argument(name: "reject_if_possible", value: rejectIfPossible),
|
298
299
|
RubyCommand.Argument(name: "automatic_release", value: automaticRelease),
|
299
300
|
RubyCommand.Argument(name: "auto_release_date", value: autoReleaseDate),
|
300
301
|
RubyCommand.Argument(name: "phased_release", value: phasedRelease),
|
301
302
|
RubyCommand.Argument(name: "price_tier", value: priceTier),
|
302
|
-
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
303
303
|
RubyCommand.Argument(name: "app_rating_config_path", value: appRatingConfigPath),
|
304
304
|
RubyCommand.Argument(name: "submission_information", value: submissionInformation),
|
305
305
|
RubyCommand.Argument(name: "team_id", value: teamId),
|
@@ -307,7 +307,6 @@ func appstore(username: String,
|
|
307
307
|
RubyCommand.Argument(name: "dev_portal_team_id", value: devPortalTeamId),
|
308
308
|
RubyCommand.Argument(name: "dev_portal_team_name", value: devPortalTeamName),
|
309
309
|
RubyCommand.Argument(name: "itc_provider", value: itcProvider),
|
310
|
-
RubyCommand.Argument(name: "overwrite_screenshots", value: overwriteScreenshots),
|
311
310
|
RubyCommand.Argument(name: "run_precheck_before_submit", value: runPrecheckBeforeSubmit),
|
312
311
|
RubyCommand.Argument(name: "precheck_default_rule_level", value: precheckDefaultRuleLevel),
|
313
312
|
RubyCommand.Argument(name: "app_icon", value: appIcon),
|
@@ -332,7 +331,8 @@ func appstore(username: String,
|
|
332
331
|
RubyCommand.Argument(name: "marketing_url", value: marketingUrl),
|
333
332
|
RubyCommand.Argument(name: "languages", value: languages),
|
334
333
|
RubyCommand.Argument(name: "ignore_language_directory_validation", value: ignoreLanguageDirectoryValidation),
|
335
|
-
RubyCommand.Argument(name: "precheck_include_in_app_purchases", value: precheckIncludeInAppPurchases)
|
334
|
+
RubyCommand.Argument(name: "precheck_include_in_app_purchases", value: precheckIncludeInAppPurchases),
|
335
|
+
RubyCommand.Argument(name: "app", value: app)])
|
336
336
|
_ = runner.executeCommand(command)
|
337
337
|
}
|
338
338
|
func apteligent(dsym: String? = nil,
|
@@ -901,6 +901,7 @@ func cert(development: Bool = false,
|
|
901
901
|
ancestryPath: Bool = false,
|
902
902
|
tagMatchPattern: String? = nil,
|
903
903
|
matchLightweightTag: Bool = true,
|
904
|
+
quiet: Bool = false,
|
904
905
|
includeMerges: Bool? = nil,
|
905
906
|
mergeCommitFiltering: String = "include_merges") -> String {
|
906
907
|
let command = RubyCommand(commandID: "", methodName: "changelog_from_git_commits", className: nil, args: [RubyCommand.Argument(name: "between", value: between),
|
@@ -911,6 +912,7 @@ func cert(development: Bool = false,
|
|
911
912
|
RubyCommand.Argument(name: "ancestry_path", value: ancestryPath),
|
912
913
|
RubyCommand.Argument(name: "tag_match_pattern", value: tagMatchPattern),
|
913
914
|
RubyCommand.Argument(name: "match_lightweight_tag", value: matchLightweightTag),
|
915
|
+
RubyCommand.Argument(name: "quiet", value: quiet),
|
914
916
|
RubyCommand.Argument(name: "include_merges", value: includeMerges),
|
915
917
|
RubyCommand.Argument(name: "merge_commit_filtering", value: mergeCommitFiltering)])
|
916
918
|
return runner.executeCommand(command)
|
@@ -1189,27 +1191,27 @@ func deleteKeychain(name: String? = nil,
|
|
1189
1191
|
}
|
1190
1192
|
func deliver(username: String = deliverfile.username,
|
1191
1193
|
appIdentifier: String? = deliverfile.appIdentifier,
|
1192
|
-
|
1193
|
-
editLive: Bool = deliverfile.editLive,
|
1194
|
+
appVersion: String? = deliverfile.appVersion,
|
1194
1195
|
ipa: String? = deliverfile.ipa,
|
1195
1196
|
pkg: String? = deliverfile.pkg,
|
1197
|
+
buildNumber: String? = deliverfile.buildNumber,
|
1196
1198
|
platform: String = deliverfile.platform,
|
1199
|
+
editLive: Bool = deliverfile.editLive,
|
1200
|
+
useLiveVersion: Bool = deliverfile.useLiveVersion,
|
1197
1201
|
metadataPath: String? = deliverfile.metadataPath,
|
1198
1202
|
screenshotsPath: String? = deliverfile.screenshotsPath,
|
1199
1203
|
skipBinaryUpload: Bool = deliverfile.skipBinaryUpload,
|
1200
|
-
useLiveVersion: Bool = deliverfile.useLiveVersion,
|
1201
1204
|
skipScreenshots: Bool = deliverfile.skipScreenshots,
|
1202
|
-
appVersion: String? = deliverfile.appVersion,
|
1203
1205
|
skipMetadata: Bool = deliverfile.skipMetadata,
|
1204
1206
|
skipAppVersionUpdate: Bool = deliverfile.skipAppVersionUpdate,
|
1205
1207
|
force: Bool = deliverfile.force,
|
1208
|
+
overwriteScreenshots: Bool = deliverfile.overwriteScreenshots,
|
1206
1209
|
submitForReview: Bool = deliverfile.submitForReview,
|
1207
1210
|
rejectIfPossible: Bool = deliverfile.rejectIfPossible,
|
1208
1211
|
automaticRelease: Bool = deliverfile.automaticRelease,
|
1209
1212
|
autoReleaseDate: String? = deliverfile.autoReleaseDate,
|
1210
1213
|
phasedRelease: Bool = deliverfile.phasedRelease,
|
1211
1214
|
priceTier: String? = deliverfile.priceTier,
|
1212
|
-
buildNumber: String? = deliverfile.buildNumber,
|
1213
1215
|
appRatingConfigPath: String? = deliverfile.appRatingConfigPath,
|
1214
1216
|
submissionInformation: String? = deliverfile.submissionInformation,
|
1215
1217
|
teamId: String? = deliverfile.teamId,
|
@@ -1217,7 +1219,6 @@ func deliver(username: String = deliverfile.username,
|
|
1217
1219
|
devPortalTeamId: String? = deliverfile.devPortalTeamId,
|
1218
1220
|
devPortalTeamName: String? = deliverfile.devPortalTeamName,
|
1219
1221
|
itcProvider: String? = deliverfile.itcProvider,
|
1220
|
-
overwriteScreenshots: Bool = deliverfile.overwriteScreenshots,
|
1221
1222
|
runPrecheckBeforeSubmit: Bool = deliverfile.runPrecheckBeforeSubmit,
|
1222
1223
|
precheckDefaultRuleLevel: String = deliverfile.precheckDefaultRuleLevel,
|
1223
1224
|
appIcon: String? = deliverfile.appIcon,
|
@@ -1242,30 +1243,31 @@ func deliver(username: String = deliverfile.username,
|
|
1242
1243
|
marketingUrl: String? = deliverfile.marketingUrl,
|
1243
1244
|
languages: [String]? = deliverfile.languages,
|
1244
1245
|
ignoreLanguageDirectoryValidation: Bool = deliverfile.ignoreLanguageDirectoryValidation,
|
1245
|
-
precheckIncludeInAppPurchases: Bool = deliverfile.precheckIncludeInAppPurchases
|
1246
|
+
precheckIncludeInAppPurchases: Bool = deliverfile.precheckIncludeInAppPurchases,
|
1247
|
+
app: String = deliverfile.app) {
|
1246
1248
|
let command = RubyCommand(commandID: "", methodName: "deliver", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
|
1247
1249
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
1248
|
-
RubyCommand.Argument(name: "
|
1249
|
-
RubyCommand.Argument(name: "edit_live", value: editLive),
|
1250
|
+
RubyCommand.Argument(name: "app_version", value: appVersion),
|
1250
1251
|
RubyCommand.Argument(name: "ipa", value: ipa),
|
1251
1252
|
RubyCommand.Argument(name: "pkg", value: pkg),
|
1253
|
+
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
1252
1254
|
RubyCommand.Argument(name: "platform", value: platform),
|
1255
|
+
RubyCommand.Argument(name: "edit_live", value: editLive),
|
1256
|
+
RubyCommand.Argument(name: "use_live_version", value: useLiveVersion),
|
1253
1257
|
RubyCommand.Argument(name: "metadata_path", value: metadataPath),
|
1254
1258
|
RubyCommand.Argument(name: "screenshots_path", value: screenshotsPath),
|
1255
1259
|
RubyCommand.Argument(name: "skip_binary_upload", value: skipBinaryUpload),
|
1256
|
-
RubyCommand.Argument(name: "use_live_version", value: useLiveVersion),
|
1257
1260
|
RubyCommand.Argument(name: "skip_screenshots", value: skipScreenshots),
|
1258
|
-
RubyCommand.Argument(name: "app_version", value: appVersion),
|
1259
1261
|
RubyCommand.Argument(name: "skip_metadata", value: skipMetadata),
|
1260
1262
|
RubyCommand.Argument(name: "skip_app_version_update", value: skipAppVersionUpdate),
|
1261
1263
|
RubyCommand.Argument(name: "force", value: force),
|
1264
|
+
RubyCommand.Argument(name: "overwrite_screenshots", value: overwriteScreenshots),
|
1262
1265
|
RubyCommand.Argument(name: "submit_for_review", value: submitForReview),
|
1263
1266
|
RubyCommand.Argument(name: "reject_if_possible", value: rejectIfPossible),
|
1264
1267
|
RubyCommand.Argument(name: "automatic_release", value: automaticRelease),
|
1265
1268
|
RubyCommand.Argument(name: "auto_release_date", value: autoReleaseDate),
|
1266
1269
|
RubyCommand.Argument(name: "phased_release", value: phasedRelease),
|
1267
1270
|
RubyCommand.Argument(name: "price_tier", value: priceTier),
|
1268
|
-
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
1269
1271
|
RubyCommand.Argument(name: "app_rating_config_path", value: appRatingConfigPath),
|
1270
1272
|
RubyCommand.Argument(name: "submission_information", value: submissionInformation),
|
1271
1273
|
RubyCommand.Argument(name: "team_id", value: teamId),
|
@@ -1273,7 +1275,6 @@ func deliver(username: String = deliverfile.username,
|
|
1273
1275
|
RubyCommand.Argument(name: "dev_portal_team_id", value: devPortalTeamId),
|
1274
1276
|
RubyCommand.Argument(name: "dev_portal_team_name", value: devPortalTeamName),
|
1275
1277
|
RubyCommand.Argument(name: "itc_provider", value: itcProvider),
|
1276
|
-
RubyCommand.Argument(name: "overwrite_screenshots", value: overwriteScreenshots),
|
1277
1278
|
RubyCommand.Argument(name: "run_precheck_before_submit", value: runPrecheckBeforeSubmit),
|
1278
1279
|
RubyCommand.Argument(name: "precheck_default_rule_level", value: precheckDefaultRuleLevel),
|
1279
1280
|
RubyCommand.Argument(name: "app_icon", value: appIcon),
|
@@ -1298,7 +1299,8 @@ func deliver(username: String = deliverfile.username,
|
|
1298
1299
|
RubyCommand.Argument(name: "marketing_url", value: marketingUrl),
|
1299
1300
|
RubyCommand.Argument(name: "languages", value: languages),
|
1300
1301
|
RubyCommand.Argument(name: "ignore_language_directory_validation", value: ignoreLanguageDirectoryValidation),
|
1301
|
-
RubyCommand.Argument(name: "precheck_include_in_app_purchases", value: precheckIncludeInAppPurchases)
|
1302
|
+
RubyCommand.Argument(name: "precheck_include_in_app_purchases", value: precheckIncludeInAppPurchases),
|
1303
|
+
RubyCommand.Argument(name: "app", value: app)])
|
1302
1304
|
_ = runner.executeCommand(command)
|
1303
1305
|
}
|
1304
1306
|
func deploygate(apiToken: String,
|
@@ -3631,27 +3633,27 @@ func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/api/0",
|
|
3631
3633
|
}
|
3632
3634
|
func uploadToAppStore(username: String,
|
3633
3635
|
appIdentifier: String? = nil,
|
3634
|
-
|
3635
|
-
editLive: Bool = false,
|
3636
|
+
appVersion: String? = nil,
|
3636
3637
|
ipa: String? = nil,
|
3637
3638
|
pkg: String? = nil,
|
3639
|
+
buildNumber: String? = nil,
|
3638
3640
|
platform: String = "ios",
|
3641
|
+
editLive: Bool = false,
|
3642
|
+
useLiveVersion: Bool = false,
|
3639
3643
|
metadataPath: String? = nil,
|
3640
3644
|
screenshotsPath: String? = nil,
|
3641
3645
|
skipBinaryUpload: Bool = false,
|
3642
|
-
useLiveVersion: Bool = false,
|
3643
3646
|
skipScreenshots: Bool = false,
|
3644
|
-
appVersion: String? = nil,
|
3645
3647
|
skipMetadata: Bool = false,
|
3646
3648
|
skipAppVersionUpdate: Bool = false,
|
3647
3649
|
force: Bool = false,
|
3650
|
+
overwriteScreenshots: Bool = false,
|
3648
3651
|
submitForReview: Bool = false,
|
3649
3652
|
rejectIfPossible: Bool = false,
|
3650
3653
|
automaticRelease: Bool = false,
|
3651
3654
|
autoReleaseDate: String? = nil,
|
3652
3655
|
phasedRelease: Bool = false,
|
3653
3656
|
priceTier: String? = nil,
|
3654
|
-
buildNumber: String? = nil,
|
3655
3657
|
appRatingConfigPath: String? = nil,
|
3656
3658
|
submissionInformation: String? = nil,
|
3657
3659
|
teamId: String? = nil,
|
@@ -3659,7 +3661,6 @@ func uploadToAppStore(username: String,
|
|
3659
3661
|
devPortalTeamId: String? = nil,
|
3660
3662
|
devPortalTeamName: String? = nil,
|
3661
3663
|
itcProvider: String? = nil,
|
3662
|
-
overwriteScreenshots: Bool = false,
|
3663
3664
|
runPrecheckBeforeSubmit: Bool = true,
|
3664
3665
|
precheckDefaultRuleLevel: String = "warn",
|
3665
3666
|
appIcon: String? = nil,
|
@@ -3684,30 +3685,31 @@ func uploadToAppStore(username: String,
|
|
3684
3685
|
marketingUrl: String? = nil,
|
3685
3686
|
languages: [String]? = nil,
|
3686
3687
|
ignoreLanguageDirectoryValidation: Bool = false,
|
3687
|
-
precheckIncludeInAppPurchases: Bool = true
|
3688
|
+
precheckIncludeInAppPurchases: Bool = true,
|
3689
|
+
app: String) {
|
3688
3690
|
let command = RubyCommand(commandID: "", methodName: "upload_to_app_store", className: nil, args: [RubyCommand.Argument(name: "username", value: username),
|
3689
3691
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
3690
|
-
RubyCommand.Argument(name: "
|
3691
|
-
RubyCommand.Argument(name: "edit_live", value: editLive),
|
3692
|
+
RubyCommand.Argument(name: "app_version", value: appVersion),
|
3692
3693
|
RubyCommand.Argument(name: "ipa", value: ipa),
|
3693
3694
|
RubyCommand.Argument(name: "pkg", value: pkg),
|
3695
|
+
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
3694
3696
|
RubyCommand.Argument(name: "platform", value: platform),
|
3697
|
+
RubyCommand.Argument(name: "edit_live", value: editLive),
|
3698
|
+
RubyCommand.Argument(name: "use_live_version", value: useLiveVersion),
|
3695
3699
|
RubyCommand.Argument(name: "metadata_path", value: metadataPath),
|
3696
3700
|
RubyCommand.Argument(name: "screenshots_path", value: screenshotsPath),
|
3697
3701
|
RubyCommand.Argument(name: "skip_binary_upload", value: skipBinaryUpload),
|
3698
|
-
RubyCommand.Argument(name: "use_live_version", value: useLiveVersion),
|
3699
3702
|
RubyCommand.Argument(name: "skip_screenshots", value: skipScreenshots),
|
3700
|
-
RubyCommand.Argument(name: "app_version", value: appVersion),
|
3701
3703
|
RubyCommand.Argument(name: "skip_metadata", value: skipMetadata),
|
3702
3704
|
RubyCommand.Argument(name: "skip_app_version_update", value: skipAppVersionUpdate),
|
3703
3705
|
RubyCommand.Argument(name: "force", value: force),
|
3706
|
+
RubyCommand.Argument(name: "overwrite_screenshots", value: overwriteScreenshots),
|
3704
3707
|
RubyCommand.Argument(name: "submit_for_review", value: submitForReview),
|
3705
3708
|
RubyCommand.Argument(name: "reject_if_possible", value: rejectIfPossible),
|
3706
3709
|
RubyCommand.Argument(name: "automatic_release", value: automaticRelease),
|
3707
3710
|
RubyCommand.Argument(name: "auto_release_date", value: autoReleaseDate),
|
3708
3711
|
RubyCommand.Argument(name: "phased_release", value: phasedRelease),
|
3709
3712
|
RubyCommand.Argument(name: "price_tier", value: priceTier),
|
3710
|
-
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
3711
3713
|
RubyCommand.Argument(name: "app_rating_config_path", value: appRatingConfigPath),
|
3712
3714
|
RubyCommand.Argument(name: "submission_information", value: submissionInformation),
|
3713
3715
|
RubyCommand.Argument(name: "team_id", value: teamId),
|
@@ -3715,7 +3717,6 @@ func uploadToAppStore(username: String,
|
|
3715
3717
|
RubyCommand.Argument(name: "dev_portal_team_id", value: devPortalTeamId),
|
3716
3718
|
RubyCommand.Argument(name: "dev_portal_team_name", value: devPortalTeamName),
|
3717
3719
|
RubyCommand.Argument(name: "itc_provider", value: itcProvider),
|
3718
|
-
RubyCommand.Argument(name: "overwrite_screenshots", value: overwriteScreenshots),
|
3719
3720
|
RubyCommand.Argument(name: "run_precheck_before_submit", value: runPrecheckBeforeSubmit),
|
3720
3721
|
RubyCommand.Argument(name: "precheck_default_rule_level", value: precheckDefaultRuleLevel),
|
3721
3722
|
RubyCommand.Argument(name: "app_icon", value: appIcon),
|
@@ -3740,7 +3741,8 @@ func uploadToAppStore(username: String,
|
|
3740
3741
|
RubyCommand.Argument(name: "marketing_url", value: marketingUrl),
|
3741
3742
|
RubyCommand.Argument(name: "languages", value: languages),
|
3742
3743
|
RubyCommand.Argument(name: "ignore_language_directory_validation", value: ignoreLanguageDirectoryValidation),
|
3743
|
-
RubyCommand.Argument(name: "precheck_include_in_app_purchases", value: precheckIncludeInAppPurchases)
|
3744
|
+
RubyCommand.Argument(name: "precheck_include_in_app_purchases", value: precheckIncludeInAppPurchases),
|
3745
|
+
RubyCommand.Argument(name: "app", value: app)])
|
3744
3746
|
_ = runner.executeCommand(command)
|
3745
3747
|
}
|
3746
3748
|
func uploadToPlayStore(packageName: String,
|
@@ -4071,4 +4073,4 @@ let screengrabfile: Screengrabfile = Screengrabfile()
|
|
4071
4073
|
let snapshotfile: Snapshotfile = Snapshotfile()
|
4072
4074
|
// Please don't remove the lines below
|
4073
4075
|
// They are used to detect outdated files
|
4074
|
-
// FastlaneRunnerAPIVersion [0.9.
|
4076
|
+
// FastlaneRunnerAPIVersion [0.9.27]
|