fastlane 2.69.0.beta.20171212010004 → 2.69.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/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
|