fastlane 2.6.0 → 2.7.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/cert/lib/cert/commands_generator.rb +2 -2
- data/credentials_manager/lib/credentials_manager/cli.rb +2 -2
- data/deliver/lib/deliver/commands_generator.rb +6 -6
- data/fastlane/lib/fastlane/actions/gradle.rb +1 -1
- data/fastlane/lib/fastlane/actions/hockey.rb +6 -1
- data/fastlane/lib/fastlane/actions/zip.rb +13 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core.rb +2 -0
- data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +2 -2
- data/gym/lib/gym/commands_generator.rb +2 -2
- data/match/lib/match/change_password.rb +9 -0
- data/match/lib/match/commands_generator.rb +7 -7
- data/match/lib/match/encrypt.rb +9 -5
- data/pem/lib/pem/commands_generator.rb +1 -1
- data/pilot/lib/pilot/commands_generator.rb +9 -9
- data/produce/lib/produce/commands_generator.rb +5 -5
- data/scan/lib/scan/commands_generator.rb +2 -2
- data/screengrab/lib/screengrab/commands_generator.rb +2 -2
- data/sigh/lib/sigh/commands_generator.rb +5 -5
- data/snapshot/lib/snapshot/commands_generator.rb +5 -5
- data/spaceship/lib/spaceship/client.rb +8 -1
- data/spaceship/lib/spaceship/commands_generator.rb +2 -2
- data/supply/lib/supply/commands_generator.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 807ab696886b26b22e27a6c0d5650b22bfc0cbd0
|
4
|
+
data.tar.gz: c4795c30d5084f137482dc494386c358e95d2ec0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f34da0506145ec8a74198c557f9759b4cab7331ff4f4fcdb411e499d58f726ae3264a7f7cce3ce6880a663e8e754e8fd4cfddbf1b30934412fcad096990f9ba2
|
7
|
+
data.tar.gz: 9e40712f3b21d2353609963c834c0943e294a1cfe06fd0237546151e8338e10b4ea87e2be83884ce554a1d2f3d2cf07a5fc5820c94e75b9fd8f94d7a492c4f5e
|
@@ -25,7 +25,7 @@ module Cert
|
|
25
25
|
FastlaneCore::CommanderGenerator.new.generate(Cert::Options.available_options)
|
26
26
|
|
27
27
|
command :create do |c|
|
28
|
-
c.syntax = 'cert create'
|
28
|
+
c.syntax = 'fastlane cert create'
|
29
29
|
c.description = 'Create new iOS code signing certificates'
|
30
30
|
|
31
31
|
c.action do |args, options|
|
@@ -35,7 +35,7 @@ module Cert
|
|
35
35
|
end
|
36
36
|
|
37
37
|
command :revoke_expired do |c|
|
38
|
-
c.syntax = 'cert revoke_expired'
|
38
|
+
c.syntax = 'fastlane cert revoke_expired'
|
39
39
|
c.description = 'Revoke expired iOS code signing certificates'
|
40
40
|
|
41
41
|
c.action do |args, options|
|
@@ -12,7 +12,7 @@ module CredentialsManager
|
|
12
12
|
|
13
13
|
# Command to add entry to Keychain
|
14
14
|
command :add do |c|
|
15
|
-
c.syntax = 'fastlane-credentials add'
|
15
|
+
c.syntax = 'fastlane fastlane-credentials add'
|
16
16
|
c.description = 'Adds a fastlane credential to the keychain.'
|
17
17
|
|
18
18
|
c.option '--username username', String, 'Username to add.'
|
@@ -30,7 +30,7 @@ module CredentialsManager
|
|
30
30
|
|
31
31
|
# Command to remove credential from Keychain
|
32
32
|
command :remove do |c|
|
33
|
-
c.syntax = 'fastlane-credentials remove'
|
33
|
+
c.syntax = 'fastlane fastlane-credentials remove'
|
34
34
|
c.description = 'Removes a fastlane credential from the keychain.'
|
35
35
|
|
36
36
|
c.option '--username username', String, 'Username to remove.'
|
@@ -44,7 +44,7 @@ module Deliver
|
|
44
44
|
always_trace!
|
45
45
|
|
46
46
|
command :run do |c|
|
47
|
-
c.syntax = 'deliver'
|
47
|
+
c.syntax = 'fastlane deliver'
|
48
48
|
c.description = 'Upload metadata and binary to iTunes Connect'
|
49
49
|
c.action do |args, options|
|
50
50
|
options = FastlaneCore::Configuration.create(deliverfile_options, options.__hash__)
|
@@ -63,7 +63,7 @@ module Deliver
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
command :submit_build do |c|
|
66
|
-
c.syntax = 'deliver submit_build'
|
66
|
+
c.syntax = 'fastlane deliver submit_build'
|
67
67
|
c.description = 'Submit a specific build-nr for review, use latest for the latest build'
|
68
68
|
c.action do |args, options|
|
69
69
|
options = FastlaneCore::Configuration.create(deliverfile_options, options.__hash__)
|
@@ -74,7 +74,7 @@ module Deliver
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
command :init do |c|
|
77
|
-
c.syntax = 'deliver init'
|
77
|
+
c.syntax = 'fastlane deliver init'
|
78
78
|
c.description = 'Create the initial `deliver` configuration based on an existing app'
|
79
79
|
c.action do |args, options|
|
80
80
|
if File.exist?("Deliverfile") or File.exist?("fastlane/Deliverfile")
|
@@ -90,7 +90,7 @@ module Deliver
|
|
90
90
|
end
|
91
91
|
|
92
92
|
command :generate_summary do |c|
|
93
|
-
c.syntax = 'deliver generate_summary'
|
93
|
+
c.syntax = 'fastlane deliver generate_summary'
|
94
94
|
c.description = 'Generate HTML Summary without uploading/downloading anything'
|
95
95
|
c.action do |args, options|
|
96
96
|
options = FastlaneCore::Configuration.create(deliverfile_options, options.__hash__)
|
@@ -103,7 +103,7 @@ module Deliver
|
|
103
103
|
end
|
104
104
|
|
105
105
|
command :download_screenshots do |c|
|
106
|
-
c.syntax = 'deliver download_screenshots'
|
106
|
+
c.syntax = 'fastlane deliver download_screenshots'
|
107
107
|
c.description = "Downloads all existing screenshots from iTunes Connect and stores them in the screenshots folder"
|
108
108
|
|
109
109
|
c.action do |args, options|
|
@@ -117,7 +117,7 @@ module Deliver
|
|
117
117
|
end
|
118
118
|
|
119
119
|
command :download_metadata do |c|
|
120
|
-
c.syntax = 'deliver download_metadata'
|
120
|
+
c.syntax = 'fastlane deliver download_metadata'
|
121
121
|
c.description = "Downloads existing metadata and stores it locally. This overwrites the local files."
|
122
122
|
|
123
123
|
c.action do |args, options|
|
@@ -55,7 +55,7 @@ module Fastlane
|
|
55
55
|
# If we didn't build, then we return now, as it makes no sense to search for apk's in a non-`assemble` scenario
|
56
56
|
return result unless task.start_with?('assemble')
|
57
57
|
|
58
|
-
apk_search_path = File.join(project_dir, '
|
58
|
+
apk_search_path = File.join(project_dir, '**', 'build', 'outputs', 'apk', '*.apk')
|
59
59
|
|
60
60
|
# Our apk is now built, but there might actually be multiple ones that were built if a flavor was not specified in a multi-flavor project (e.g. `assembleRelease`), however we're not interested in unaligned apk's...
|
61
61
|
new_apks = Dir[apk_search_path].reject { |path| path =~ /^.*-unaligned.apk$/i }
|
@@ -217,7 +217,12 @@ module Fastlane
|
|
217
217
|
env_name: "FL_HOCKEY_BYPASS_CDN",
|
218
218
|
description: "Flag to bypass Hockey CDN when it uploads successfully but reports error",
|
219
219
|
is_string: false,
|
220
|
-
default_value: false)
|
220
|
+
default_value: false),
|
221
|
+
FastlaneCore::ConfigItem.new(key: :dsa_signature,
|
222
|
+
env_name: "FL_HOCKEY_DSA_SIGNATURE",
|
223
|
+
description: "DSA signature for sparkle updates for macOS",
|
224
|
+
is_string: true,
|
225
|
+
optional: true)
|
221
226
|
]
|
222
227
|
end
|
223
228
|
|
@@ -7,7 +7,9 @@ module Fastlane
|
|
7
7
|
params[:output_path] ||= "#{params[:path]}.zip"
|
8
8
|
|
9
9
|
Dir.chdir(File.expand_path("..", params[:path])) do # required to properly zip
|
10
|
-
|
10
|
+
zip_options = params[:verbose] ? "r" : "rq"
|
11
|
+
|
12
|
+
Actions.sh "zip -#{zip_options} #{params[:output_path].shellescape} #{File.basename(params[:path]).shellescape}"
|
11
13
|
end
|
12
14
|
|
13
15
|
UI.success "Successfully generated zip file at path '#{File.expand_path(params[:output_path])}'"
|
@@ -36,6 +38,11 @@ module Fastlane
|
|
36
38
|
FastlaneCore::ConfigItem.new(key: :output_path,
|
37
39
|
env_name: "FL_ZIP_OUTPUT_NAME",
|
38
40
|
description: "The name of the resulting zip file",
|
41
|
+
optional: true),
|
42
|
+
FastlaneCore::ConfigItem.new(key: :verbose,
|
43
|
+
env_name: "FL_ZIP_VERBOSE",
|
44
|
+
description: "Enable verbose output of zipped file",
|
45
|
+
default_value: true,
|
39
46
|
optional: true)
|
40
47
|
]
|
41
48
|
end
|
@@ -46,6 +53,11 @@ module Fastlane
|
|
46
53
|
'zip(
|
47
54
|
path: "MyApp.app",
|
48
55
|
output_path: "Latest.app.zip"
|
56
|
+
)',
|
57
|
+
'zip(
|
58
|
+
path: "MyApp.app",
|
59
|
+
output_path: "Latest.app.zip"
|
60
|
+
verbose: false
|
49
61
|
)'
|
50
62
|
]
|
51
63
|
end
|
@@ -41,6 +41,8 @@ module FastlaneCore
|
|
41
41
|
|
42
42
|
# A directory that's being used to user-wide fastlane configs
|
43
43
|
# This directory is also used for the bundled fastlane
|
44
|
+
# Since we don't want to access FastlaneCore from spaceship
|
45
|
+
# this method is duplicated in spaceship/client.rb
|
44
46
|
def self.fastlane_user_dir
|
45
47
|
path = File.expand_path(File.join("~", ".fastlane"))
|
46
48
|
FileUtils.mkdir_p(path) unless File.directory?(path)
|
@@ -7,7 +7,7 @@ module FastlaneCore
|
|
7
7
|
|
8
8
|
attr_accessor :package_path
|
9
9
|
|
10
|
-
def generate(app_id: nil, pkg_path: nil, package_path: nil)
|
10
|
+
def generate(app_id: nil, pkg_path: nil, package_path: nil, platform: "osx")
|
11
11
|
self.package_path = File.join(package_path, "#{app_id}.itmsp")
|
12
12
|
FileUtils.rm_rf(self.package_path) if File.directory?(self.package_path)
|
13
13
|
FileUtils.mkdir_p self.package_path
|
@@ -19,7 +19,7 @@ module FastlaneCore
|
|
19
19
|
ipa_path: File.basename(pkg_path), # this is only the base name as the ipa is inside the package
|
20
20
|
md5: Digest::MD5.hexdigest(File.read(pkg_path)),
|
21
21
|
archive_type: 'product-archive',
|
22
|
-
platform:
|
22
|
+
platform: platform
|
23
23
|
}
|
24
24
|
|
25
25
|
xml_path = File.join(FastlaneCore::ROOT, 'lib/assets/XMLTemplate.xml.erb')
|
@@ -32,7 +32,7 @@ module Gym
|
|
32
32
|
global_option("--verbose") { $verbose = true }
|
33
33
|
|
34
34
|
command :build do |c|
|
35
|
-
c.syntax = "gym"
|
35
|
+
c.syntax = "fastlane gym"
|
36
36
|
c.description = "Just builds your app"
|
37
37
|
c.action do |_args, options|
|
38
38
|
config = FastlaneCore::Configuration.create(Gym::Options.available_options,
|
@@ -42,7 +42,7 @@ module Gym
|
|
42
42
|
end
|
43
43
|
|
44
44
|
command :init do |c|
|
45
|
-
c.syntax = "gym init"
|
45
|
+
c.syntax = "fastlane gym init"
|
46
46
|
c.description = "Creates a new Gymfile for you"
|
47
47
|
c.action do |_args, options|
|
48
48
|
containing = (File.directory?("fastlane") ? 'fastlane' : '.')
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Match
|
2
|
+
# These functions should only be used while in (UI.) interactive mode
|
2
3
|
class ChangePassword
|
3
4
|
def self.update(params: nil, from: nil, to: nil)
|
5
|
+
ensure_ui_interactive
|
4
6
|
to ||= ChangePassword.ask_password(message: "New passphrase for Git Repo: ", confirm: false)
|
5
7
|
from ||= ChangePassword.ask_password(message: "Old passphrase for Git Repo: ", confirm: true)
|
6
8
|
GitHelper.clear_changes
|
@@ -13,6 +15,7 @@ module Match
|
|
13
15
|
end
|
14
16
|
|
15
17
|
def self.ask_password(message: "Passphrase for Git Repo: ", confirm: true)
|
18
|
+
ensure_ui_interactive
|
16
19
|
loop do
|
17
20
|
password = UI.password(message)
|
18
21
|
if confirm
|
@@ -26,5 +29,11 @@ module Match
|
|
26
29
|
UI.error("Passhprases differ. Try again")
|
27
30
|
end
|
28
31
|
end
|
32
|
+
|
33
|
+
def self.ensure_ui_interactive
|
34
|
+
raise "This code should only run in interactive mode" unless UI.interactive?
|
35
|
+
end
|
36
|
+
|
37
|
+
private_class_method :ensure_ui_interactive
|
29
38
|
end
|
30
39
|
end
|
@@ -26,7 +26,7 @@ module Match
|
|
26
26
|
FastlaneCore::CommanderGenerator.new.generate(Match::Options.available_options)
|
27
27
|
|
28
28
|
command :run do |c|
|
29
|
-
c.syntax = 'match'
|
29
|
+
c.syntax = 'fastlane match'
|
30
30
|
c.description = Match::DESCRIPTION
|
31
31
|
|
32
32
|
c.action do |args, options|
|
@@ -42,7 +42,7 @@ module Match
|
|
42
42
|
|
43
43
|
Match.environments.each do |type|
|
44
44
|
command type do |c|
|
45
|
-
c.syntax = "match #{type}"
|
45
|
+
c.syntax = "fastlane match #{type}"
|
46
46
|
c.description = "Run match for a #{type} provisioning profile"
|
47
47
|
|
48
48
|
c.action do |args, options|
|
@@ -55,7 +55,7 @@ module Match
|
|
55
55
|
end
|
56
56
|
|
57
57
|
command :init do |c|
|
58
|
-
c.syntax = 'match init'
|
58
|
+
c.syntax = 'fastlane match init'
|
59
59
|
c.description = 'Create the Matchfile for you'
|
60
60
|
c.action do |args, options|
|
61
61
|
containing = (File.directory?("fastlane") ? 'fastlane' : '.')
|
@@ -71,7 +71,7 @@ module Match
|
|
71
71
|
end
|
72
72
|
|
73
73
|
command :change_password do |c|
|
74
|
-
c.syntax = 'match change_password'
|
74
|
+
c.syntax = 'fastlane match change_password'
|
75
75
|
c.description = 'Re-encrypt all files with a different password'
|
76
76
|
c.action do |args, options|
|
77
77
|
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
@@ -83,7 +83,7 @@ module Match
|
|
83
83
|
end
|
84
84
|
|
85
85
|
command :decrypt do |c|
|
86
|
-
c.syntax = "match decrypt"
|
86
|
+
c.syntax = "fastlane match decrypt"
|
87
87
|
c.description = "Decrypts the repository and keeps it on the filesystem"
|
88
88
|
c.action do |args, options|
|
89
89
|
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
@@ -94,7 +94,7 @@ module Match
|
|
94
94
|
end
|
95
95
|
command "nuke" do |c|
|
96
96
|
# We have this empty command here, since otherwise the normal `match` command will be executed
|
97
|
-
c.syntax = "match nuke"
|
97
|
+
c.syntax = "fastlane match nuke"
|
98
98
|
c.description = "Delete all certificates and provisioning profiles from the Apple Dev Portal"
|
99
99
|
c.action do |args, options|
|
100
100
|
FastlaneCore::UI.user_error!("Please run `match nuke [type], allowed values: distribution and development. For the 'adhoc' type, please use 'distribution' instead.")
|
@@ -103,7 +103,7 @@ module Match
|
|
103
103
|
|
104
104
|
["development", "distribution"].each do |type|
|
105
105
|
command "nuke #{type}" do |c|
|
106
|
-
c.syntax = "match nuke #{type}"
|
106
|
+
c.syntax = "fastlane match nuke #{type}"
|
107
107
|
c.description = "Delete all certificates and provisioning profiles from the Apple Dev Portal of the type #{type}"
|
108
108
|
c.action do |args, options|
|
109
109
|
params = FastlaneCore::Configuration.create(Match::Options.available_options, options.__hash__)
|
data/match/lib/match/encrypt.rb
CHANGED
@@ -15,11 +15,15 @@ module Match
|
|
15
15
|
end
|
16
16
|
|
17
17
|
unless password
|
18
|
-
UI.
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
if !UI.interactive?
|
19
|
+
UI.error "No password found neither in environment nor in local keychain. Bailing out as in non interactive mode."
|
20
|
+
else
|
21
|
+
UI.important "Enter the passphrase that should be used to encrypt/decrypt your certificates"
|
22
|
+
UI.important "This passphrase is specific per repository and will be stored in your local keychain"
|
23
|
+
UI.important "Make sure to remember the password, as you'll need it when you run match on a different machine"
|
24
|
+
password = ChangePassword.ask_password(confirm: true)
|
25
|
+
store_password(git_url, password)
|
26
|
+
end
|
23
27
|
end
|
24
28
|
|
25
29
|
return password
|
@@ -25,7 +25,7 @@ module PEM
|
|
25
25
|
FastlaneCore::CommanderGenerator.new.generate(PEM::Options.available_options)
|
26
26
|
|
27
27
|
command :renew do |c|
|
28
|
-
c.syntax = 'pem renew'
|
28
|
+
c.syntax = 'fastlane pem renew'
|
29
29
|
c.description = 'Renews the certificate (in case it expired) and shows the path to the generated pem file'
|
30
30
|
|
31
31
|
c.action do |args, options|
|
@@ -50,7 +50,7 @@ module Pilot
|
|
50
50
|
global_option("--verbose") { $verbose = true }
|
51
51
|
|
52
52
|
command :upload do |c|
|
53
|
-
c.syntax = "pilot upload"
|
53
|
+
c.syntax = "fastlane pilot upload"
|
54
54
|
c.description = "Uploads a new binary to Apple TestFlight"
|
55
55
|
c.action do |args, options|
|
56
56
|
config = FastlaneCore::Configuration.create(Pilot::Options.available_options, convert_options(options))
|
@@ -59,7 +59,7 @@ module Pilot
|
|
59
59
|
end
|
60
60
|
|
61
61
|
command :distribute do |c|
|
62
|
-
c.syntax = "pilot distribute"
|
62
|
+
c.syntax = "fastlane pilot distribute"
|
63
63
|
c.description = "Distribute a previously uploaded binary to Apple TestFlight"
|
64
64
|
c.action do |args, options|
|
65
65
|
config = FastlaneCore::Configuration.create(Pilot::Options.available_options, convert_options(options))
|
@@ -69,7 +69,7 @@ module Pilot
|
|
69
69
|
end
|
70
70
|
|
71
71
|
command :builds do |c|
|
72
|
-
c.syntax = "pilot builds"
|
72
|
+
c.syntax = "fastlane pilot builds"
|
73
73
|
c.description = "Lists all builds for given application"
|
74
74
|
c.action do |args, options|
|
75
75
|
config = FastlaneCore::Configuration.create(Pilot::Options.available_options, convert_options(options))
|
@@ -78,7 +78,7 @@ module Pilot
|
|
78
78
|
end
|
79
79
|
|
80
80
|
command :add do |c|
|
81
|
-
c.syntax = "pilot add"
|
81
|
+
c.syntax = "fastlane pilot add"
|
82
82
|
c.description = "Adds new external tester(s) to a specific app (if given). This will also add an existing tester to an app."
|
83
83
|
c.action do |args, options|
|
84
84
|
handle_multiple('add_tester', args, options)
|
@@ -86,7 +86,7 @@ module Pilot
|
|
86
86
|
end
|
87
87
|
|
88
88
|
command :list do |c|
|
89
|
-
c.syntax = "pilot list"
|
89
|
+
c.syntax = "fastlane pilot list"
|
90
90
|
c.description = "Lists all registered testers, both internal and external"
|
91
91
|
c.action do |args, options|
|
92
92
|
config = FastlaneCore::Configuration.create(Pilot::Options.available_options, convert_options(options))
|
@@ -95,7 +95,7 @@ module Pilot
|
|
95
95
|
end
|
96
96
|
|
97
97
|
command :find do |c|
|
98
|
-
c.syntax = "pilot find"
|
98
|
+
c.syntax = "fastlane pilot find"
|
99
99
|
c.description = "Find tester(s) (internal or external) by their email address"
|
100
100
|
c.action do |args, options|
|
101
101
|
handle_multiple('find_tester', args, options)
|
@@ -103,7 +103,7 @@ module Pilot
|
|
103
103
|
end
|
104
104
|
|
105
105
|
command :remove do |c|
|
106
|
-
c.syntax = "pilot remove"
|
106
|
+
c.syntax = "fastlane pilot remove"
|
107
107
|
c.description = "Remove external tester(s) by their email address"
|
108
108
|
c.action do |args, options|
|
109
109
|
handle_multiple('remove_tester', args, options)
|
@@ -111,7 +111,7 @@ module Pilot
|
|
111
111
|
end
|
112
112
|
|
113
113
|
command :export do |c|
|
114
|
-
c.syntax = "pilot export"
|
114
|
+
c.syntax = "fastlane pilot export"
|
115
115
|
c.description = "Exports all external testers to a CSV file"
|
116
116
|
c.action do |args, options|
|
117
117
|
config = FastlaneCore::Configuration.create(Pilot::Options.available_options, convert_options(options))
|
@@ -120,7 +120,7 @@ module Pilot
|
|
120
120
|
end
|
121
121
|
|
122
122
|
command :import do |c|
|
123
|
-
c.syntax = "pilot import"
|
123
|
+
c.syntax = "fastlane pilot import"
|
124
124
|
c.description = "Create external testers from a CSV file"
|
125
125
|
c.action do |args, options|
|
126
126
|
config = FastlaneCore::Configuration.create(Pilot::Options.available_options, convert_options(options))
|
@@ -25,7 +25,7 @@ module Produce
|
|
25
25
|
FastlaneCore::CommanderGenerator.new.generate(Produce::Options.available_options)
|
26
26
|
|
27
27
|
command :create do |c|
|
28
|
-
c.syntax = 'produce create'
|
28
|
+
c.syntax = 'fastlane produce create'
|
29
29
|
c.description = 'Creates a new app on iTunes Connect and the Apple Developer Portal'
|
30
30
|
|
31
31
|
c.action do |args, options|
|
@@ -36,7 +36,7 @@ module Produce
|
|
36
36
|
end
|
37
37
|
|
38
38
|
command :enable_services do |c|
|
39
|
-
c.syntax = 'produce enable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
|
39
|
+
c.syntax = 'fastlane produce enable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
|
40
40
|
c.description = 'Enable specific Application Services for a specific app on the Apple Developer Portal'
|
41
41
|
c.example 'Enable HealthKit, HomeKit and Passbook', 'produce enable_services -a com.example.app --healthkit --homekit --passbook'
|
42
42
|
|
@@ -67,7 +67,7 @@ module Produce
|
|
67
67
|
end
|
68
68
|
|
69
69
|
command :disable_services do |c|
|
70
|
-
c.syntax = 'produce disable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
|
70
|
+
c.syntax = 'fastlane produce disable_services -a APP_IDENTIFIER SERVICE1, SERVICE2, ...'
|
71
71
|
c.description = 'Disable specific Application Services for a specific app on the Apple Developer Portal'
|
72
72
|
c.example 'Disable HealthKit', 'produce disable_services -a com.example.app --healthkit'
|
73
73
|
|
@@ -98,7 +98,7 @@ module Produce
|
|
98
98
|
end
|
99
99
|
|
100
100
|
command :group do |c|
|
101
|
-
c.syntax = 'produce group'
|
101
|
+
c.syntax = 'fastlane produce group'
|
102
102
|
c.description = 'Ensure that a specific App Group exists'
|
103
103
|
c.example 'Create group', 'produce group -g group.example.app -n "Example App Group"'
|
104
104
|
|
@@ -115,7 +115,7 @@ module Produce
|
|
115
115
|
end
|
116
116
|
|
117
117
|
command :associate_group do |c|
|
118
|
-
c.syntax = 'produce associate_group -a APP_IDENTIFIER GROUP_IDENTIFIER1, GROUP_IDENTIFIER2, ...'
|
118
|
+
c.syntax = 'fastlane produce associate_group -a APP_IDENTIFIER GROUP_IDENTIFIER1, GROUP_IDENTIFIER2, ...'
|
119
119
|
c.description = 'Associate with a group, which is create if needed or simply located otherwise'
|
120
120
|
c.example 'Associate with group', 'produce associate-group -a com.example.app group.example.com'
|
121
121
|
|
@@ -31,7 +31,7 @@ module Scan
|
|
31
31
|
global_option("--verbose") { $verbose = true }
|
32
32
|
|
33
33
|
command :tests do |c|
|
34
|
-
c.syntax = "scan"
|
34
|
+
c.syntax = "fastlane scan"
|
35
35
|
c.description = Scan::DESCRIPTION
|
36
36
|
c.action do |_args, options|
|
37
37
|
config = FastlaneCore::Configuration.create(Scan::Options.available_options,
|
@@ -41,7 +41,7 @@ module Scan
|
|
41
41
|
end
|
42
42
|
|
43
43
|
command :init do |c|
|
44
|
-
c.syntax = "scan init"
|
44
|
+
c.syntax = "fastlane scan init"
|
45
45
|
c.description = "Creates a new Scanfile for you"
|
46
46
|
c.action do |_args, options|
|
47
47
|
containing = (Helper.fastlane_enabled? ? 'fastlane' : '.')
|
@@ -27,7 +27,7 @@ module Screengrab
|
|
27
27
|
FastlaneCore::CommanderGenerator.new.generate(Screengrab::Options.available_options)
|
28
28
|
|
29
29
|
command :run do |c|
|
30
|
-
c.syntax = 'screengrab'
|
30
|
+
c.syntax = 'fastlane screengrab'
|
31
31
|
c.description = 'Take new screenshots based on the screengrabfile.'
|
32
32
|
|
33
33
|
c.action do |args, options|
|
@@ -43,7 +43,7 @@ module Screengrab
|
|
43
43
|
end
|
44
44
|
|
45
45
|
command :init do |c|
|
46
|
-
c.syntax = 'screengrab init'
|
46
|
+
c.syntax = 'fastlane screengrab init'
|
47
47
|
c.description = "Creates a new Screengrabfile in the current directory"
|
48
48
|
|
49
49
|
c.action do |args, options|
|
@@ -25,7 +25,7 @@ module Sigh
|
|
25
25
|
FastlaneCore::CommanderGenerator.new.generate(Sigh::Options.available_options)
|
26
26
|
|
27
27
|
command :renew do |c|
|
28
|
-
c.syntax = 'sigh renew'
|
28
|
+
c.syntax = 'fastlane sigh renew'
|
29
29
|
c.description = 'Renews the certificate (in case it expired) and outputs the path to the generated file'
|
30
30
|
|
31
31
|
c.action do |args, options|
|
@@ -57,7 +57,7 @@ module Sigh
|
|
57
57
|
end
|
58
58
|
|
59
59
|
command :download_all do |c|
|
60
|
-
c.syntax = 'sigh download_all'
|
60
|
+
c.syntax = 'fastlane sigh download_all'
|
61
61
|
c.description = 'Downloads all valid provisioning profiles'
|
62
62
|
|
63
63
|
c.action do |args, options|
|
@@ -67,7 +67,7 @@ module Sigh
|
|
67
67
|
end
|
68
68
|
|
69
69
|
command :repair do |c|
|
70
|
-
c.syntax = 'sigh repair'
|
70
|
+
c.syntax = 'fastlane sigh repair'
|
71
71
|
c.description = 'Repairs all expired or invalid provisioning profiles'
|
72
72
|
|
73
73
|
c.action do |args, options|
|
@@ -78,7 +78,7 @@ module Sigh
|
|
78
78
|
end
|
79
79
|
|
80
80
|
command :resign do |c|
|
81
|
-
c.syntax = 'sigh resign'
|
81
|
+
c.syntax = 'fastlane sigh resign'
|
82
82
|
c.description = 'Resigns an existing ipa file with the given provisioning profile'
|
83
83
|
c.option '-i', '--signing_identity STRING', String, 'The signing identity to use. Must match the one defined in the provisioning profile.'
|
84
84
|
c.option '-x', '--version_number STRING', String, 'Version number to force binary and all nested binaries to use. Changes both CFBundleShortVersionString and CFBundleIdentifier.'
|
@@ -100,7 +100,7 @@ module Sigh
|
|
100
100
|
end
|
101
101
|
|
102
102
|
command :manage do |c|
|
103
|
-
c.syntax = 'sigh manage'
|
103
|
+
c.syntax = 'fastlane sigh manage'
|
104
104
|
c.description = 'Manage installed provisioning profiles on your system.'
|
105
105
|
|
106
106
|
c.option '-f', '--force', 'Force remove all expired provisioning profiles. Required on CI.'
|
@@ -27,7 +27,7 @@ module Snapshot
|
|
27
27
|
FastlaneCore::CommanderGenerator.new.generate(Snapshot::Options.available_options)
|
28
28
|
|
29
29
|
command :run do |c|
|
30
|
-
c.syntax = 'snapshot'
|
30
|
+
c.syntax = 'fastlane snapshot'
|
31
31
|
c.description = 'Take new screenshots based on the Snapfile.'
|
32
32
|
|
33
33
|
c.action do |args, options|
|
@@ -39,7 +39,7 @@ module Snapshot
|
|
39
39
|
end
|
40
40
|
|
41
41
|
command :init do |c|
|
42
|
-
c.syntax = 'snapshot init'
|
42
|
+
c.syntax = 'fastlane snapshot init'
|
43
43
|
c.description = "Creates a new Snapfile in the current directory"
|
44
44
|
|
45
45
|
c.action do |args, options|
|
@@ -50,7 +50,7 @@ module Snapshot
|
|
50
50
|
end
|
51
51
|
|
52
52
|
command :update do |c|
|
53
|
-
c.syntax = 'snapshot update'
|
53
|
+
c.syntax = 'fastlane snapshot update'
|
54
54
|
c.description = "Updates your SnapshotHelper.swift to the latest version"
|
55
55
|
|
56
56
|
c.action do |args, options|
|
@@ -60,7 +60,7 @@ module Snapshot
|
|
60
60
|
end
|
61
61
|
|
62
62
|
command :reset_simulators do |c|
|
63
|
-
c.syntax = 'snapshot reset_simulators'
|
63
|
+
c.syntax = 'fastlane snapshot reset_simulators'
|
64
64
|
c.description = "This will remove all your existing simulators and re-create new ones"
|
65
65
|
c.option '-i', '--ios String', String, 'The comma separated list of iOS Versions you want to use'
|
66
66
|
c.option '--force', 'Disables confirmation prompts'
|
@@ -75,7 +75,7 @@ module Snapshot
|
|
75
75
|
end
|
76
76
|
|
77
77
|
command :clear_derived_data do |c|
|
78
|
-
c.syntax = 'snapshot clear_derived_data -f path'
|
78
|
+
c.syntax = 'fastlane snapshot clear_derived_data -f path'
|
79
79
|
c.description = "Clear the directory where build products and other derived data will go"
|
80
80
|
|
81
81
|
c.action do |args, options|
|
@@ -166,13 +166,20 @@ module Spaceship
|
|
166
166
|
return File.read(path)
|
167
167
|
end
|
168
168
|
|
169
|
+
# This is a duplicate method of fastlane_core/fastlane_core.rb#fastlane_user_dir
|
170
|
+
def fastlane_user_dir
|
171
|
+
path = File.expand_path(File.join("~", ".fastlane"))
|
172
|
+
FileUtils.mkdir_p(path) unless File.directory?(path)
|
173
|
+
return path
|
174
|
+
end
|
175
|
+
|
169
176
|
# Returns preferred path for storing cookie
|
170
177
|
# for two step verification.
|
171
178
|
def persistent_cookie_path
|
172
179
|
if ENV["SPACESHIP_COOKIE_PATH"]
|
173
180
|
path = File.expand_path(File.join(ENV["SPACESHIP_COOKIE_PATH"], "spaceship", self.user, "cookie"))
|
174
181
|
else
|
175
|
-
[File.join(
|
182
|
+
[File.join(self.fastlane_user_dir, "spaceship"), "~/.spaceship", "/var/tmp/spaceship", "#{Dir.tmpdir}/spaceship"].each do |dir|
|
176
183
|
dir_parts = File.split(dir)
|
177
184
|
if directory_accessible?(File.expand_path(dir_parts.first))
|
178
185
|
path = File.expand_path(File.join(dir, self.user, "cookie"))
|
@@ -24,7 +24,7 @@ module Spaceship
|
|
24
24
|
global_option('-u', '--user USERNAME', 'Specify the Apple ID you want to log in with')
|
25
25
|
|
26
26
|
command :playground do |c|
|
27
|
-
c.syntax = 'spaceship playground'
|
27
|
+
c.syntax = 'fastlane spaceship playground'
|
28
28
|
c.description = 'Run an interactive shell that connects you to Apple web services'
|
29
29
|
|
30
30
|
c.action do |args, options|
|
@@ -33,7 +33,7 @@ module Spaceship
|
|
33
33
|
end
|
34
34
|
|
35
35
|
command :spaceauth do |c|
|
36
|
-
c.syntax = 'spaceship spaceauth'
|
36
|
+
c.syntax = 'fastlane spaceship spaceauth'
|
37
37
|
c.description = 'Authentication helper for spaceship/fastlane to work with Apple 2-Step/2FA'
|
38
38
|
|
39
39
|
c.action do |args, options|
|
@@ -28,7 +28,7 @@ module Supply
|
|
28
28
|
global_option('--verbose') { $verbose = true }
|
29
29
|
|
30
30
|
command :run do |c|
|
31
|
-
c.syntax = 'supply'
|
31
|
+
c.syntax = 'fastlane supply'
|
32
32
|
c.description = 'Run a deploy process'
|
33
33
|
c.action do |args, options|
|
34
34
|
Supply.config = FastlaneCore::Configuration.create(Supply::Options.available_options, options.__hash__)
|
@@ -39,7 +39,7 @@ module Supply
|
|
39
39
|
end
|
40
40
|
|
41
41
|
command :init do |c|
|
42
|
-
c.syntax = 'supply init'
|
42
|
+
c.syntax = 'fastlane supply init'
|
43
43
|
c.description = 'Sets up supply for you'
|
44
44
|
c.action do |args, options|
|
45
45
|
require 'supply/setup'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2017-01-
|
17
|
+
date: 2017-01-09 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: slack-notifier
|