fastlane 2.69.0.beta.20171212010004 → 2.69.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/deliver/lib/assets/DeliverfileDefault.swift +13 -0
- data/deliver/lib/deliver/commands_generator.rb +2 -1
- data/deliver/lib/deliver/options.rb +8 -3
- data/deliver/lib/deliver/setup.rb +19 -3
- data/fastlane/lib/assets/AppfileTemplate.swift +8 -0
- data/fastlane/lib/assets/DefaultFastfileTemplate.swift +72 -0
- data/fastlane/lib/fastlane.rb +6 -0
- data/fastlane/lib/fastlane/.DS_Store +0 -0
- data/fastlane/lib/fastlane/action.rb +13 -0
- data/fastlane/lib/fastlane/actions/adb.rb +4 -0
- data/fastlane/lib/fastlane/actions/appium.rb +2 -0
- data/fastlane/lib/fastlane/actions/bundle_install.rb +2 -0
- data/fastlane/lib/fastlane/actions/carthage.rb +12 -24
- data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +5 -0
- data/fastlane/lib/fastlane/actions/cocoapods.rb +2 -1
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +4 -0
- data/fastlane/lib/fastlane/actions/environment_variable.rb +73 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +4 -4
- data/fastlane/lib/fastlane/actions/increment_build_number.rb +4 -0
- data/fastlane/lib/fastlane/actions/increment_version_number.rb +4 -0
- data/fastlane/lib/fastlane/actions/is_ci.rb +4 -0
- data/fastlane/lib/fastlane/actions/last_git_commit.rb +4 -0
- data/fastlane/lib/fastlane/actions/last_git_tag.rb +4 -0
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +4 -0
- data/fastlane/lib/fastlane/actions/modify_services.rb +1 -0
- data/fastlane/lib/fastlane/actions/number_of_commits.rb +4 -0
- data/fastlane/lib/fastlane/actions/podio_item.rb +1 -0
- data/fastlane/lib/fastlane/actions/prompt.rb +4 -0
- data/fastlane/lib/fastlane/actions/read_podspec.rb +4 -0
- data/fastlane/lib/fastlane/actions/register_device.rb +4 -0
- data/fastlane/lib/fastlane/actions/register_devices.rb +1 -0
- data/fastlane/lib/fastlane/actions/rocket.rb +4 -0
- data/fastlane/lib/fastlane/actions/set_github_release.rb +4 -0
- data/fastlane/lib/fastlane/actions/sh.rb +5 -0
- data/fastlane/lib/fastlane/actions/slather.rb +14 -0
- data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +1 -0
- data/fastlane/lib/fastlane/actions/xcode_install.rb +4 -0
- data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +4 -0
- data/fastlane/lib/fastlane/actions/zip.rb +4 -0
- data/fastlane/lib/fastlane/boolean.rb +5 -0
- data/fastlane/lib/fastlane/command_line_handler.rb +6 -1
- data/fastlane/lib/fastlane/commands_generator.rb +40 -1
- data/fastlane/lib/fastlane/fast_file.rb +5 -1
- data/fastlane/lib/fastlane/lane_list.rb +67 -4
- data/fastlane/lib/fastlane/lane_manager.rb +3 -69
- data/fastlane/lib/fastlane/lane_manager_base.rb +124 -0
- data/fastlane/lib/fastlane/runner.rb +2 -2
- data/fastlane/lib/fastlane/server/command.rb +70 -0
- data/fastlane/lib/fastlane/server/command_executor.rb +9 -0
- data/fastlane/lib/fastlane/server/socket_server.rb +212 -0
- data/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb +100 -0
- data/fastlane/lib/fastlane/setup/setup.rb +7 -2
- data/fastlane/lib/fastlane/setup/setup_ios.rb +72 -15
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +265 -0
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +342 -0
- data/fastlane/lib/fastlane/swift_lane_manager.rb +246 -0
- data/fastlane/lib/fastlane/tools.rb +13 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core.rb +3 -0
- data/fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb +6 -3
- data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +7 -0
- data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +13 -0
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +33 -2
- data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +32 -0
- data/gym/lib/assets/GymfileTemplate.swift +13 -0
- data/gym/lib/gym/commands_generator.rb +14 -2
- data/gym/lib/gym/generators/build_command_generator.rb +2 -2
- data/gym/lib/gym/options.rb +11 -0
- data/match/lib/assets/MatchfileTemplate.swift +9 -0
- data/match/lib/match/commands_generator.rb +9 -3
- data/match/lib/match/options.rb +1 -0
- data/match/lib/match/setup.rb +6 -2
- data/precheck/lib/.DS_Store +0 -0
- data/precheck/lib/assets/PrecheckfileTemplate +1 -1
- data/precheck/lib/assets/PrecheckfileTemplate.swift +19 -0
- data/precheck/lib/precheck/commands_generator.rb +13 -2
- data/scan/lib/assets/ScanfileTemplate.swift +13 -0
- data/scan/lib/scan/commands_generator.rb +14 -2
- data/scan/lib/scan/options.rb +6 -0
- data/screengrab/lib/assets/ScreengrabfileTemplate.swift +15 -0
- data/screengrab/lib/screengrab/commands_generator.rb +2 -1
- data/screengrab/lib/screengrab/setup.rb +9 -3
- data/snapshot/lib/assets/SnapfileTemplate.swift +41 -0
- data/snapshot/lib/snapshot/commands_generator.rb +2 -1
- data/snapshot/lib/snapshot/setup.rb +9 -3
- data/spaceship/lib/spaceship/client.rb +4 -1
- metadata +38 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c84dc9589f4d0140988040aa2d7cc6eae54d513d
|
4
|
+
data.tar.gz: cfaa220b540897f4162dc3efdd323cbb59128156
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 760bf04a97de90d938554bcfa77249e2a91b232aabab01387b44d391ae96f64d9cf9a4a669dafe18aa960af77c6cf9d9e796e481882ca2b114a03d7dbf368bc8
|
7
|
+
data.tar.gz: bd7e6d82a6d898db2bbeb67da7be6ce4db4b6d2dcfde8ab0d7e733cf0e916fa9ef18937565a43a55e74ae44b1487f98df94a76170c86255a1ee4aeed6c937cf0
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/************************ More Options ************************/
|
2
|
+
// If you want to have even more control, check out the documentation
|
3
|
+
// https://docs.fastlane.tools/actions/deliver
|
4
|
+
|
5
|
+
|
6
|
+
/************************ Automatically generated ************************/
|
7
|
+
|
8
|
+
class Deliverfile: DeliverfileProtocol {
|
9
|
+
// Feel free to remove the following lines
|
10
|
+
// These values can go in Appfile.swift
|
11
|
+
var appIdentifier: String { return "[[APP_IDENTIFIER]]" } // The bundle identifier of your app
|
12
|
+
var username: String { return "[[USERNAME]]" } // your Apple ID user
|
13
|
+
}
|
@@ -63,9 +63,10 @@ module Deliver
|
|
63
63
|
loaded = true if File.exist?(File.join(FastlaneCore::FastlaneFolder.path || ".", "metadata"))
|
64
64
|
unless loaded
|
65
65
|
if UI.confirm("No deliver configuration found in the current directory. Do you want to setup deliver?")
|
66
|
+
is_swift = UI.confirm("Would you like to use Swift instead of Ruby?")
|
66
67
|
require 'deliver/setup'
|
67
68
|
Deliver::Runner.new(options) # to login...
|
68
|
-
Deliver::Setup.new.run(options)
|
69
|
+
Deliver::Setup.new.run(options, is_swift: is_swift)
|
69
70
|
return 0
|
70
71
|
end
|
71
72
|
end
|
@@ -125,7 +125,7 @@ module Deliver
|
|
125
125
|
description: "Enable the phased release feature of iTC",
|
126
126
|
optional: true,
|
127
127
|
is_string: false,
|
128
|
-
default_value:
|
128
|
+
default_value: false),
|
129
129
|
FastlaneCore::ConfigItem.new(key: :price_tier,
|
130
130
|
short_option: "-r",
|
131
131
|
description: "The price tier of this application",
|
@@ -264,11 +264,13 @@ module Deliver
|
|
264
264
|
FastlaneCore::ConfigItem.new(key: :trade_representative_contact_information,
|
265
265
|
description: "Metadata: A hash containing the trade representative contact information",
|
266
266
|
optional: true,
|
267
|
-
is_string: false
|
267
|
+
is_string: false,
|
268
|
+
type: Hash),
|
268
269
|
FastlaneCore::ConfigItem.new(key: :app_review_information,
|
269
270
|
description: "Metadata: A hash containing the review information",
|
270
271
|
optional: true,
|
271
|
-
is_string: false
|
272
|
+
is_string: false,
|
273
|
+
type: Hash),
|
272
274
|
# Localised
|
273
275
|
FastlaneCore::ConfigItem.new(key: :description,
|
274
276
|
description: "Metadata: The localised app description",
|
@@ -282,6 +284,7 @@ module Deliver
|
|
282
284
|
description: "Metadata: The localised app subtitle",
|
283
285
|
optional: true,
|
284
286
|
is_string: false,
|
287
|
+
type: Hash,
|
285
288
|
verify_block: proc do |value|
|
286
289
|
UI.user_error!(":subtitle must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
287
290
|
end),
|
@@ -289,6 +292,7 @@ module Deliver
|
|
289
292
|
description: "Metadata: An array of localised keywords",
|
290
293
|
optional: true,
|
291
294
|
is_string: false,
|
295
|
+
type: Hash,
|
292
296
|
verify_block: proc do |value|
|
293
297
|
UI.user_error!(":keywords must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
294
298
|
value.each do |language, keywords|
|
@@ -303,6 +307,7 @@ module Deliver
|
|
303
307
|
description: "Metadata: An array of localised promotional texts",
|
304
308
|
optional: true,
|
305
309
|
is_string: false,
|
310
|
+
type: Hash,
|
306
311
|
verify_block: proc do |value|
|
307
312
|
UI.user_error!(":keywords must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
308
313
|
end),
|
@@ -2,9 +2,17 @@ require 'fastlane_core'
|
|
2
2
|
|
3
3
|
module Deliver
|
4
4
|
class Setup
|
5
|
-
|
5
|
+
attr_accessor :is_swift
|
6
|
+
|
7
|
+
def run(options, is_swift: false)
|
6
8
|
containing = FastlaneCore::Helper.fastlane_enabled_folder_path
|
7
|
-
|
9
|
+
self.is_swift = is_swift
|
10
|
+
|
11
|
+
if is_swift
|
12
|
+
file_path = File.join(containing, 'Deliverfile.swift')
|
13
|
+
else
|
14
|
+
file_path = File.join(containing, 'Deliverfile')
|
15
|
+
end
|
8
16
|
data = generate_deliver_file(containing, options)
|
9
17
|
setup_deliver(file_path, data, containing, options)
|
10
18
|
end
|
@@ -30,12 +38,20 @@ module Deliver
|
|
30
38
|
generate_metadata_files(v, File.join(deliver_path, 'metadata'))
|
31
39
|
|
32
40
|
# Generate the final Deliverfile here
|
33
|
-
deliver = File.read(
|
41
|
+
deliver = File.read(deliverfile_path)
|
34
42
|
deliver.gsub!("[[APP_IDENTIFIER]]", options[:app].bundle_id)
|
35
43
|
deliver.gsub!("[[USERNAME]]", Spaceship::Tunes.client.user)
|
36
44
|
return deliver
|
37
45
|
end
|
38
46
|
|
47
|
+
def deliverfile_path
|
48
|
+
if self.is_swift
|
49
|
+
return "#{Deliver::ROOT}/lib/assets/DeliverfileDefault.swift"
|
50
|
+
else
|
51
|
+
return "#{Deliver::ROOT}/lib/assets/DeliverfileDefault"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
39
55
|
def generate_metadata_files(v, path)
|
40
56
|
app_details = v.application.details
|
41
57
|
|
@@ -0,0 +1,8 @@
|
|
1
|
+
var appIdentifier: String { return "[[APP_IDENTIFIER]]" } // The bundle identifier of your app
|
2
|
+
var appleID: String { return "[[APPLE_ID]]" } // Your Apple email address
|
3
|
+
|
4
|
+
var teamID: String { return "[[DEV_PORTAL_TEAM_ID]]" } // Developer Portal Team ID
|
5
|
+
var itcTeam: String? { return [[ITC_TEAM]] } // iTunes Connect Team ID (may be nil if no team)
|
6
|
+
|
7
|
+
// you can even provide different app identifiers, Apple IDs and team names per lane:
|
8
|
+
// More information: https://docs.fastlane.tools/advanced/#appfile
|
@@ -0,0 +1,72 @@
|
|
1
|
+
// Customize this file, documentation can be found here:
|
2
|
+
// https://docs.fastlane.tools/
|
3
|
+
// All available actions: https://docs.fastlane.tools/actions
|
4
|
+
// can also be listed using the `fastlane actions` command
|
5
|
+
|
6
|
+
// Change the syntax highlighting to Swift
|
7
|
+
// All lines starting with // are ignored when running `fastlane`
|
8
|
+
|
9
|
+
// If you want to automatically update fastlane if a new version is available:
|
10
|
+
// updateFastlane()
|
11
|
+
|
12
|
+
import Foundation
|
13
|
+
|
14
|
+
class Fastfile: LaneFile {
|
15
|
+
// This is the minimum version number required.
|
16
|
+
// Update this, if you use features of a newer version
|
17
|
+
var fastlaneVersion: String { return "[[FASTLANE_VERSION]]" }
|
18
|
+
|
19
|
+
func beforeAll() {
|
20
|
+
// environmentVariables["SLACK_URL"] = "https://hooks.slack.com/services/..."
|
21
|
+
cocoapods()
|
22
|
+
carthage()
|
23
|
+
}
|
24
|
+
|
25
|
+
func testLane() {
|
26
|
+
desc("Runs all the tests")
|
27
|
+
scan()
|
28
|
+
}
|
29
|
+
|
30
|
+
func betaLane() {
|
31
|
+
desc("Submit a new Beta Build to Apple TestFlight. This will also make sure the profile is up to date")
|
32
|
+
|
33
|
+
match(gitUrl: "gitUrl", appIdentifier: [appIdentifier], username: appleID)
|
34
|
+
// Build your app - more options available
|
35
|
+
gym([[SCHEME]])
|
36
|
+
pilot(username: appleID)
|
37
|
+
// You can also use other beta testing services here (run `fastlane actions`)
|
38
|
+
}
|
39
|
+
|
40
|
+
func releaseLane() {
|
41
|
+
desc("Deploy a new version to the App Store")
|
42
|
+
|
43
|
+
match(gitUrl: "gitUrl", type: "appstore", appIdentifier: [appIdentifier], username: appleID)
|
44
|
+
snapshot()
|
45
|
+
gym([[SCHEME]]) // Build your app - more options available
|
46
|
+
deliver(username: appleID, app: appIdentifier, force: true)
|
47
|
+
// frameit()
|
48
|
+
}
|
49
|
+
|
50
|
+
// You can define as many lanes as you want
|
51
|
+
|
52
|
+
func afterAll(currentLane: String) {
|
53
|
+
// This block is called, only if the executed lane was successful
|
54
|
+
// slack(
|
55
|
+
// message: "Successfully deployed new App Update.",
|
56
|
+
// slackUrl: "slackURL"
|
57
|
+
// )
|
58
|
+
}
|
59
|
+
|
60
|
+
func onError(currentLane: String, errorInfo: String) {
|
61
|
+
// slack(
|
62
|
+
// message: errorInfo,
|
63
|
+
// slackUrl: "slackUrl",
|
64
|
+
// success: false
|
65
|
+
// )
|
66
|
+
}
|
67
|
+
|
68
|
+
// All available actions: https://docs.fastlane.tools/actions
|
69
|
+
|
70
|
+
// fastlane reports which actions are used. No personal data is recorded.
|
71
|
+
// Learn more at https://github.com/fastlane/fastlane/#metrics
|
72
|
+
}
|
data/fastlane/lib/fastlane.rb
CHANGED
@@ -12,11 +12,17 @@ require 'fastlane/setup/setup'
|
|
12
12
|
require 'fastlane/lane'
|
13
13
|
require 'fastlane/junit_generator'
|
14
14
|
require 'fastlane/lane_manager'
|
15
|
+
require 'fastlane/lane_manager_base'
|
16
|
+
require 'fastlane/swift_lane_manager'
|
15
17
|
require 'fastlane/action'
|
16
18
|
require 'fastlane/action_collector'
|
17
19
|
require 'fastlane/supported_platforms'
|
18
20
|
require 'fastlane/configuration_helper'
|
19
21
|
require 'fastlane/one_off'
|
22
|
+
require 'fastlane/server/socket_server_action_command_executor'
|
23
|
+
require 'fastlane/server/command_executor'
|
24
|
+
require 'fastlane/server/command'
|
25
|
+
require 'fastlane/server/socket_server'
|
20
26
|
require 'fastlane/command_line_handler'
|
21
27
|
require 'fastlane/documentation/docs_generator'
|
22
28
|
require 'fastlane/other_action'
|
Binary file
|
@@ -19,6 +19,14 @@ module Fastlane
|
|
19
19
|
:deprecated # This should be the last item
|
20
20
|
]
|
21
21
|
|
22
|
+
RETURN_TYPES = [
|
23
|
+
:string,
|
24
|
+
:array_of_strings,
|
25
|
+
:hash_of_strings,
|
26
|
+
:bool,
|
27
|
+
:int
|
28
|
+
]
|
29
|
+
|
22
30
|
class << self
|
23
31
|
attr_accessor :runner
|
24
32
|
|
@@ -57,6 +65,11 @@ module Fastlane
|
|
57
65
|
nil
|
58
66
|
end
|
59
67
|
|
68
|
+
def self.return_type
|
69
|
+
# Describes what type of data is expected to be returned, see RETURN_TYPES
|
70
|
+
nil
|
71
|
+
end
|
72
|
+
|
60
73
|
def self.return_value
|
61
74
|
# Describes what this method returns
|
62
75
|
nil
|
@@ -161,6 +161,7 @@ module Fastlane
|
|
161
161
|
env_name: 'FL_APPIUM_CAPS',
|
162
162
|
description: 'Hash of caps for Appium::Driver',
|
163
163
|
is_string: false,
|
164
|
+
type: Hash,
|
164
165
|
optional: true
|
165
166
|
),
|
166
167
|
FastlaneCore::ConfigItem.new(
|
@@ -168,6 +169,7 @@ module Fastlane
|
|
168
169
|
env_name: 'FL_APPIUM_LIB',
|
169
170
|
description: 'Hash of appium_lib for Appium::Driver',
|
170
171
|
is_string: false,
|
172
|
+
type: Hash,
|
171
173
|
optional: true
|
172
174
|
)
|
173
175
|
]
|
@@ -88,6 +88,7 @@ module Fastlane
|
|
88
88
|
env_name: "FL_BUNDLE_INSTALL_JOBS",
|
89
89
|
description: "Install gems using parallel workers",
|
90
90
|
is_string: false,
|
91
|
+
type: Boolean,
|
91
92
|
optional: true),
|
92
93
|
FastlaneCore::ConfigItem.new(key: :local,
|
93
94
|
env_name: "FL_BUNDLE_INSTALL_LOCAL",
|
@@ -127,6 +128,7 @@ module Fastlane
|
|
127
128
|
env_name: "FL_BUNDLE_INSTALL_RETRY",
|
128
129
|
description: "Retry network and git requests that have failed",
|
129
130
|
is_string: false,
|
131
|
+
type: Boolean,
|
130
132
|
optional: true),
|
131
133
|
FastlaneCore::ConfigItem.new(key: :shebang,
|
132
134
|
env_name: "FL_BUNDLE_INSTALL_SHEBANG",
|
@@ -73,42 +73,32 @@ module Fastlane
|
|
73
73
|
env_name: "FL_CARTHAGE_USE_SSH",
|
74
74
|
description: "Use SSH for downloading GitHub repositories",
|
75
75
|
is_string: false,
|
76
|
-
|
77
|
-
|
78
|
-
UI.user_error!("Please pass a valid value for use_ssh. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
79
|
-
end),
|
76
|
+
type: Boolean,
|
77
|
+
optional: true),
|
80
78
|
FastlaneCore::ConfigItem.new(key: :use_submodules,
|
81
79
|
env_name: "FL_CARTHAGE_USE_SUBMODULES",
|
82
80
|
description: "Add dependencies as Git submodules",
|
83
81
|
is_string: false,
|
84
|
-
|
85
|
-
|
86
|
-
UI.user_error!("Please pass a valid value for use_submodules. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
87
|
-
end),
|
82
|
+
type: Boolean,
|
83
|
+
optional: true),
|
88
84
|
FastlaneCore::ConfigItem.new(key: :use_binaries,
|
89
85
|
env_name: "FL_CARTHAGE_USE_BINARIES",
|
90
86
|
description: "Check out dependency repositories even when prebuilt frameworks exist",
|
91
87
|
is_string: false,
|
92
|
-
|
93
|
-
|
94
|
-
UI.user_error!("Please pass a valid value for use_binaries. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
95
|
-
end),
|
88
|
+
type: Boolean,
|
89
|
+
optional: true),
|
96
90
|
FastlaneCore::ConfigItem.new(key: :no_build,
|
97
91
|
env_name: "FL_CARTHAGE_NO_BUILD",
|
98
92
|
description: "When bootstrapping Carthage do not build",
|
99
93
|
is_string: false,
|
100
|
-
|
101
|
-
|
102
|
-
UI.user_error!("Please pass a valid value for no_build. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
103
|
-
end),
|
94
|
+
type: Boolean,
|
95
|
+
optional: true),
|
104
96
|
FastlaneCore::ConfigItem.new(key: :no_skip_current,
|
105
97
|
env_name: "FL_CARTHAGE_NO_SKIP_CURRENT",
|
106
98
|
description: "Don't skip building the Carthage project (in addition to its dependencies)",
|
107
99
|
is_string: false,
|
108
|
-
|
109
|
-
|
110
|
-
UI.user_error!("Please pass a valid value for no_skip_current. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
111
|
-
end),
|
100
|
+
type: Boolean,
|
101
|
+
optional: true),
|
112
102
|
FastlaneCore::ConfigItem.new(key: :derived_data,
|
113
103
|
env_name: "FL_CARTHAGE_DERIVED_DATA",
|
114
104
|
description: "Use derived data folder at path",
|
@@ -117,10 +107,8 @@ module Fastlane
|
|
117
107
|
env_name: "FL_CARTHAGE_VERBOSE",
|
118
108
|
description: "Print xcodebuild output inline",
|
119
109
|
is_string: false,
|
120
|
-
|
121
|
-
|
122
|
-
UI.user_error!("Please pass a valid value for verbose. Use one of the following: true, false") unless value.kind_of?(TrueClass) || value.kind_of?(FalseClass)
|
123
|
-
end),
|
110
|
+
type: Boolean,
|
111
|
+
optional: true),
|
124
112
|
FastlaneCore::ConfigItem.new(key: :platform,
|
125
113
|
env_name: "FL_CARTHAGE_PLATFORM",
|
126
114
|
description: "Define which platform to build for",
|
@@ -115,6 +115,7 @@ module Fastlane
|
|
115
115
|
description: "Whether or not to include any commits that are merges\n" + '(DEPRECATED - use :merge_commit_filtering)'.red,
|
116
116
|
optional: true,
|
117
117
|
is_string: false,
|
118
|
+
type: Boolean,
|
118
119
|
verify_block: proc do |value|
|
119
120
|
UI.important "The :include_merges option is deprecated. Please use :merge_commit_filtering instead" unless value.nil?
|
120
121
|
end),
|
@@ -134,6 +135,10 @@ module Fastlane
|
|
134
135
|
"Returns a String containing your formatted git commits"
|
135
136
|
end
|
136
137
|
|
138
|
+
def self.return_type
|
139
|
+
:string
|
140
|
+
end
|
141
|
+
|
137
142
|
def self.author
|
138
143
|
['mfurtak', 'asfalcone', 'SiarheiFedartsou', 'allewun']
|
139
144
|
end
|
@@ -100,13 +100,14 @@ module Fastlane
|
|
100
100
|
description: 'A callback invoked with the command output if there is a non-zero exit status',
|
101
101
|
optional: true,
|
102
102
|
is_string: false,
|
103
|
+
type: :string_callback,
|
103
104
|
default_value: nil),
|
104
105
|
FastlaneCore::ConfigItem.new(key: :try_repo_update_on_error,
|
105
106
|
env_name: "FL_COCOAPODS_TRY_REPO_UPDATE_ON_ERROR",
|
106
107
|
description: 'Retry with --repo-update if action was finished with error',
|
107
108
|
optional: true,
|
108
109
|
is_string: false,
|
109
|
-
|
110
|
+
type: Boolean,
|
110
111
|
conflicting_options: [:repo_update])
|
111
112
|
]
|
112
113
|
# Please don't add a version parameter to the `cocoapods` action. If you need to specify a version when running
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class EnvironmentVariableAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
values_to_set = params[:set]
|
6
|
+
value_to_get = params[:get]
|
7
|
+
value_to_remove = params[:remove]
|
8
|
+
|
9
|
+
# clear out variables that were removed
|
10
|
+
ENV[value_to_remove] = nil unless value_to_remove.nil?
|
11
|
+
|
12
|
+
# if we have to set variables, do that now
|
13
|
+
unless values_to_set.nil?
|
14
|
+
values_to_set.each do |key, value|
|
15
|
+
ENV[key] = value
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# finally, get the variable we requested
|
20
|
+
return ENV[value_to_get] unless value_to_get.nil?
|
21
|
+
|
22
|
+
# if no variable is requested, just return empty string
|
23
|
+
return ""
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.author
|
27
|
+
"taquitos"
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.available_options
|
31
|
+
[
|
32
|
+
FastlaneCore::ConfigItem.new(
|
33
|
+
key: :set,
|
34
|
+
env_name: 'FL_ENVIRONMENT_VARIABLE_SET',
|
35
|
+
description: 'Set the environment variables named',
|
36
|
+
optional: true,
|
37
|
+
type: Hash
|
38
|
+
),
|
39
|
+
FastlaneCore::ConfigItem.new(
|
40
|
+
key: :get,
|
41
|
+
env_name: 'FL_ENVIRONMENT_VARIABLE_GET',
|
42
|
+
description: 'Get the environment variable named',
|
43
|
+
optional: true,
|
44
|
+
is_string: true
|
45
|
+
),
|
46
|
+
FastlaneCore::ConfigItem.new(
|
47
|
+
key: :remove,
|
48
|
+
env_name: 'FL_ENVIRONMENT_VARIABLE_REMOVE',
|
49
|
+
description: 'Remove the environment variable named',
|
50
|
+
optional: true,
|
51
|
+
is_string: true
|
52
|
+
)
|
53
|
+
]
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.description
|
57
|
+
"Sets/gets env vars for Fastlane.swift. Don't use in ruby, use `ENV[key] = val`"
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.category
|
61
|
+
:misc
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.return_type
|
65
|
+
:string
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.is_supported?(platform)
|
69
|
+
true
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|