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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 077c46f59f353134e4211ee252c92882a510b55c
4
- data.tar.gz: 5cb94ef40a8470ae61fa22e069ea06242e8047af
3
+ metadata.gz: 807ab696886b26b22e27a6c0d5650b22bfc0cbd0
4
+ data.tar.gz: c4795c30d5084f137482dc494386c358e95d2ec0
5
5
  SHA512:
6
- metadata.gz: 6f8bc8bb4fef49caa02096fabb87146c606296cd6b5f58019a0431a3529eb1539640be800c399dcaa231565ccaf9bb988161c2e23f84dff10f6f00816d9aee19
7
- data.tar.gz: c605fb60e551e0840e83a084a25790cb38eb6916cb902d7fbfbf917e810d3258c9dac2555d25047d5a833782b1d2985d8a7c259a454e0d9a8a8205f432216a86
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, '*', 'build', 'outputs', 'apk', '*.apk')
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
- Actions.sh "zip -r #{params[:output_path].shellescape} #{File.basename(params[:path]).shellescape}"
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
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '2.6.0'.freeze
2
+ VERSION = '2.7.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  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: 'osx'
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__)
@@ -15,11 +15,15 @@ module Match
15
15
  end
16
16
 
17
17
  unless password
18
- UI.important "Enter the passphrase that should be used to encrypt/decrypt your certificates"
19
- UI.important "This passphrase is specific per repository and will be stored in your local keychain"
20
- UI.important "Make sure to remember the password, as you'll need it when you run match on a different machine"
21
- password = ChangePassword.ask_password(confirm: true)
22
- store_password(git_url, password)
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(FastlaneCore.fastlane_user_dir, "spaceship"), "~/.spaceship", "/var/tmp/spaceship", "#{Dir.tmpdir}/spaceship"].each do |dir|
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.6.0
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-08 00:00:00.000000000 Z
17
+ date: 2017-01-09 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: slack-notifier