fastlane 2.6.0 → 2.7.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|