fastlane 2.26.0.beta.20170405010026 → 2.26.0.beta.20170406010019
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/options.rb +10 -0
- data/cert/lib/cert/runner.rb +8 -1
- data/fastlane/lib/fastlane/actions/appledoc.rb +1 -1
- data/fastlane/lib/fastlane/actions/carthage.rb +2 -2
- data/fastlane/lib/fastlane/actions/commit_version_bump.rb +1 -1
- data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +1 -1
- data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
- data/fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb +1 -1
- data/fastlane/lib/fastlane/actions/ipa.rb +2 -2
- data/fastlane/lib/fastlane/actions/number_of_commits.rb +22 -7
- data/fastlane/lib/fastlane/actions/oclint.rb +1 -1
- data/fastlane/lib/fastlane/actions/onesignal.rb +1 -1
- data/fastlane/lib/fastlane/actions/reset_git_repo.rb +1 -1
- data/fastlane/lib/fastlane/actions/s3.rb +1 -1
- data/fastlane/lib/fastlane/actions/slack.rb +1 -1
- data/fastlane/lib/fastlane/actions/ssh.rb +1 -1
- data/fastlane/lib/fastlane/actions/tryouts.rb +1 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +1 -1
- data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +9 -1
- data/fastlane/lib/fastlane/fast_file.rb +1 -1
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +2 -2
- data/fastlane/lib/fastlane/helper/podspec_helper.rb +15 -1
- data/fastlane/lib/fastlane/runner.rb +1 -1
- data/fastlane/lib/fastlane/setup/setup_ios.rb +1 -1
- data/fastlane/lib/fastlane/supported_platforms.rb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/command_executor.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +2 -2
- data/gym/lib/gym/options.rb +21 -0
- data/gym/lib/gym/xcode.rb +6 -0
- data/match/lib/match/change_password.rb +1 -1
- data/scan/lib/scan/options.rb +1 -1
- data/spaceship/lib/spaceship/portal/provisioning_profile.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_version.rb +1 -1
- data/supply/lib/supply/client.rb +1 -1
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca792b234365ecd36e723b3e0899588f5859d583
|
4
|
+
data.tar.gz: a59879d88ecffb271038deca47ba9c3b135f2c3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 719de1b03f23acb695e7c0d85e8be8794361ba5db7b96ae4253f801f5628afce1641087df111e25ad38a543c3675dc0788dc4f74162dcc4ffc3f9c38793331ab
|
7
|
+
data.tar.gz: c509463fa3d7bef71bb2b2037348b93b2615d0e5826e5fb57cc072d653db5ae06b83578dfafc1434644e49a1dba537077259a65ff3da0cb4c3bbf64cb0170e96
|
data/cert/lib/cert/options.rb
CHANGED
@@ -13,6 +13,16 @@ module Cert
|
|
13
13
|
description: "Create a development certificate instead of a distribution one",
|
14
14
|
is_string: false,
|
15
15
|
default_value: false),
|
16
|
+
FastlaneCore::ConfigItem.new(key: :generate_p12,
|
17
|
+
env_name: "CERT_GENERATE_P12_FILE",
|
18
|
+
description: "Generate a p12 file additionally to a PEM file",
|
19
|
+
is_string: false,
|
20
|
+
default_value: false),
|
21
|
+
FastlaneCore::ConfigItem.new(key: :p12_password,
|
22
|
+
env_name: "CERT_P12_PASSWORD",
|
23
|
+
sensitive: true,
|
24
|
+
description: "The password that is used for your p12 file",
|
25
|
+
default_value: ""),
|
16
26
|
FastlaneCore::ConfigItem.new(key: :force,
|
17
27
|
env_name: "CERT_FORCE",
|
18
28
|
description: "Create a certificate even if an existing certificate exists",
|
data/cert/lib/cert/runner.rb
CHANGED
@@ -160,11 +160,18 @@ module Cert
|
|
160
160
|
request_path = File.expand_path(File.join(Cert.config[:output_path], "#{certificate.id}.certSigningRequest"))
|
161
161
|
File.write(request_path, csr.to_pem)
|
162
162
|
|
163
|
-
private_key_path = File.expand_path(File.join(Cert.config[:output_path], "#{certificate.id}.
|
163
|
+
private_key_path = File.expand_path(File.join(Cert.config[:output_path], "#{certificate.id}.pkey"))
|
164
164
|
File.write(private_key_path, pkey)
|
165
165
|
|
166
166
|
cert_path = store_certificate(certificate)
|
167
167
|
|
168
|
+
if Cert.config[:generate_p12]
|
169
|
+
p12_cert_path = File.expand_path(File.join(Cert.config[:output_path], "#{certificate.id}.p12"))
|
170
|
+
p12 = OpenSSL::PKCS12.create(Cert.config[:p12_password], type_name, pkey, certificate.download)
|
171
|
+
File.write(p12_cert_path, p12.to_der)
|
172
|
+
UI.success "p12 certificate: #{p12_cert_path}"
|
173
|
+
end
|
174
|
+
|
168
175
|
# Import all the things into the Keychain
|
169
176
|
keychain = File.expand_path(Cert.config[:keychain_path])
|
170
177
|
password = Cert.config[:keychain_password]
|
@@ -159,7 +159,7 @@ module Fastlane
|
|
159
159
|
FastlaneCore::ConfigItem.new(key: :docset_publisher_id, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_ID", description: "DocSet publisher identifier", is_string: true, optional: true),
|
160
160
|
FastlaneCore::ConfigItem.new(key: :docset_publisher_name, env_name: "FL_APPLEDOC_DOCSET_PUBLISHER_NAME", description: "DocSet publisher name", is_string: true, optional: true),
|
161
161
|
FastlaneCore::ConfigItem.new(key: :docset_min_xcode_version, env_name: "FL_APPLEDOC_DOCSET_MIN_XCODE_VERSION", description: "DocSet min. Xcode version", is_string: true, optional: true),
|
162
|
-
FastlaneCore::ConfigItem.new(key: :docset_platform_family, env_name: "FL_APPLEDOC_DOCSET_PLATFORM_FAMILY", description: "DocSet platform
|
162
|
+
FastlaneCore::ConfigItem.new(key: :docset_platform_family, env_name: "FL_APPLEDOC_DOCSET_PLATFORM_FAMILY", description: "DocSet platform family", is_string: true, optional: true),
|
163
163
|
FastlaneCore::ConfigItem.new(key: :docset_cert_issuer, env_name: "FL_APPLEDOC_DOCSET_CERT_ISSUER", description: "DocSet certificate issuer", is_string: true, optional: true),
|
164
164
|
FastlaneCore::ConfigItem.new(key: :docset_cert_signer, env_name: "FL_APPLEDOC_DOCSET_CERT_SIGNER", description: "DocSet certificate signer", is_string: true, optional: true),
|
165
165
|
FastlaneCore::ConfigItem.new(key: :docset_bundle_filename, env_name: "FL_APPLEDOC_DOCSET_BUNDLE_FILENAME", description: "DocSet bundle filename", is_string: true, optional: true),
|
@@ -36,10 +36,10 @@ module Fastlane
|
|
36
36
|
def self.validate(params)
|
37
37
|
command_name = params[:command]
|
38
38
|
if command_name != "archive" && params[:frameworks].count > 0
|
39
|
-
UI.user_error!("Frameworks option is
|
39
|
+
UI.user_error!("Frameworks option is available only for 'archive' command.")
|
40
40
|
end
|
41
41
|
if command_name != "archive" && params[:output]
|
42
|
-
UI.user_error!("Output option is
|
42
|
+
UI.user_error!("Output option is available only for 'archive' command.")
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -88,7 +88,7 @@ module Fastlane
|
|
88
88
|
unless changed_files_as_expected
|
89
89
|
unless params[:force]
|
90
90
|
error = [
|
91
|
-
"Found unexpected
|
91
|
+
"Found unexpected uncommitted changes in the working directory. Expected these files to have ",
|
92
92
|
"changed: \n#{expected_changed_files.join("\n")}.\nBut found these actual changes: ",
|
93
93
|
"#{git_dirty_files.join("\n")}.\nMake sure you have cleaned up the build artifacts and ",
|
94
94
|
"are only left with the changed version files at this stage in your lane, and don't touch the ",
|
@@ -48,7 +48,7 @@ module Fastlane
|
|
48
48
|
|
49
49
|
def self.details
|
50
50
|
[
|
51
|
-
"This action copies
|
51
|
+
"This action copies artifacts to a target directory. It's useful if you have a CI that will pick up these artifacts and attach them to the build. Useful e.g. for storing your `.ipa`s, `.dSYM.zip`s, `.mobileprovision`s, `.cert`s",
|
52
52
|
"Make sure your target_path is gitignored, and if you use `reset_git_repo`, make sure the artifacts are added to the exclude list"
|
53
53
|
].join("\n")
|
54
54
|
end
|
@@ -84,7 +84,7 @@ module Fastlane
|
|
84
84
|
changed_files_as_expected = dirty_set.subset? expected_set
|
85
85
|
unless changed_files_as_expected
|
86
86
|
unless params[:force]
|
87
|
-
str = ["Found unexpected
|
87
|
+
str = ["Found unexpected uncommitted changes in the working directory. Expected these files to have changed:",
|
88
88
|
"#{expected_changed_files.join("\n")}.",
|
89
89
|
"But found these actual changes: \n#{hg_dirty_files.join("\n")}.",
|
90
90
|
"Make sure you have cleaned up the build artifacts and are only left with the changed version files at this",
|
@@ -76,7 +76,7 @@ module Fastlane
|
|
76
76
|
"-------------------------------------------------------",
|
77
77
|
"Original Error:",
|
78
78
|
" => " + ex.to_s,
|
79
|
-
"A build error
|
79
|
+
"A build error occurred. You are using legacy `shenzhen` for building",
|
80
80
|
"it is recommended to upgrade to _gym_: ",
|
81
81
|
"https://github.com/fastlane/fastlane/tree/master/gym",
|
82
82
|
core_command,
|
@@ -86,7 +86,7 @@ module Fastlane
|
|
86
86
|
end
|
87
87
|
|
88
88
|
# Raise a custom exception, as the the normal one is useless for the user
|
89
|
-
UI.user_error!("A build error
|
89
|
+
UI.user_error!("A build error occurred, this is usually related to code signing. Take a look at the error above")
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
@@ -10,7 +10,11 @@ module Fastlane
|
|
10
10
|
|
11
11
|
def self.run(params)
|
12
12
|
if is_git?
|
13
|
-
|
13
|
+
if params[:all]
|
14
|
+
command = 'git rev-list --all --count'
|
15
|
+
else
|
16
|
+
command = 'git rev-list HEAD --count'
|
17
|
+
end
|
14
18
|
else
|
15
19
|
UI.user_error!("Not in a git repository.")
|
16
20
|
end
|
@@ -22,19 +26,29 @@ module Fastlane
|
|
22
26
|
#####################################################
|
23
27
|
|
24
28
|
def self.description
|
25
|
-
"Return the
|
29
|
+
"Return the number of commits in current git branch"
|
26
30
|
end
|
27
31
|
|
28
32
|
def self.return_value
|
29
|
-
"The total number of all commits in current git
|
33
|
+
"The total number of all commits in current git branch"
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.available_options
|
37
|
+
[
|
38
|
+
FastlaneCore::ConfigItem.new(key: :all,
|
39
|
+
env_name: "FL_NUMBER_OF_COMMITS_ALL",
|
40
|
+
optional: true,
|
41
|
+
is_string: false,
|
42
|
+
description: "Returns number of all commits instead of current branch")
|
43
|
+
]
|
30
44
|
end
|
31
45
|
|
32
46
|
def self.details
|
33
|
-
"You can use this action to get the number of commits of this
|
47
|
+
"You can use this action to get the number of commits of this branch. This is useful if you want to set the build number to the number of commits. See `faslane actions number_of_commits` for more details"
|
34
48
|
end
|
35
49
|
|
36
50
|
def self.authors
|
37
|
-
["onevcat"]
|
51
|
+
["onevcat", "samuelbeek"]
|
38
52
|
end
|
39
53
|
|
40
54
|
def self.is_supported?(platform)
|
@@ -43,8 +57,9 @@ module Fastlane
|
|
43
57
|
|
44
58
|
def self.example_code
|
45
59
|
[
|
46
|
-
'build_number
|
47
|
-
|
60
|
+
'increment_build_number(build_number: number_of_commits)',
|
61
|
+
'build_number = number_of_commits(all: true)
|
62
|
+
increment_build_number(build_number: number_of_commits)'
|
48
63
|
]
|
49
64
|
end
|
50
65
|
|
@@ -26,7 +26,7 @@ module Fastlane
|
|
26
26
|
end
|
27
27
|
|
28
28
|
if params[:select_reqex]
|
29
|
-
UI.important("'select_reqex'
|
29
|
+
UI.important("'select_reqex' parameter is deprecated. Please use 'select_regex' instead.")
|
30
30
|
select_regex = params[:select_reqex]
|
31
31
|
end
|
32
32
|
|
@@ -49,7 +49,7 @@ module Fastlane
|
|
49
49
|
def self.check_response_code(response)
|
50
50
|
case response.code.to_i
|
51
51
|
when 200, 204
|
52
|
-
puts "
|
52
|
+
puts "Successfully created new OneSignal app".green
|
53
53
|
else
|
54
54
|
UI.user_error!("Unexpected #{response.code} with response: #{response.body}")
|
55
55
|
end
|
@@ -384,7 +384,7 @@ module Fastlane
|
|
384
384
|
default_value: ENV['AWS_REGION']),
|
385
385
|
FastlaneCore::ConfigItem.new(key: :path,
|
386
386
|
env_name: "S3_PATH",
|
387
|
-
description: "S3 'path'. Values from Info.plist will be
|
387
|
+
description: "S3 'path'. Values from Info.plist will be substituted for keys wrapped in {} ",
|
388
388
|
optional: true,
|
389
389
|
default_value: 'v{CFBundleShortVersionString}_b{CFBundleVersion}/'),
|
390
390
|
FastlaneCore::ConfigItem.new(key: :source,
|
@@ -91,7 +91,7 @@ module Fastlane
|
|
91
91
|
optional: true),
|
92
92
|
FastlaneCore::ConfigItem.new(key: :payload,
|
93
93
|
env_name: "FL_SLACK_PAYLOAD",
|
94
|
-
description: "Add additional information to this post. payload must be a hash
|
94
|
+
description: "Add additional information to this post. payload must be a hash containing any key with any value",
|
95
95
|
default_value: {},
|
96
96
|
is_string: false),
|
97
97
|
FastlaneCore::ConfigItem.new(key: :default_payloads,
|
@@ -65,7 +65,7 @@ module Fastlane
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
command_word = params[:commands].count == 1 ? "command" : "commands"
|
68
|
-
UI.success("
|
68
|
+
UI.success("Successfully executed #{params[:commands].count} #{command_word} on host #{params[:host]}")
|
69
69
|
Actions.lane_context[SharedValues::SSH_STDOUT_VALUE] = stdout
|
70
70
|
Actions.lane_context[SharedValues::SSH_STDERR_VALUE] = stderr
|
71
71
|
return { stdout: Actions.lane_context[SharedValues::SSH_STDOUT_VALUE], stderr: Actions.lane_context[SharedValues::SSH_STDERR_VALUE] }
|
@@ -94,7 +94,7 @@ module Fastlane
|
|
94
94
|
optional: true),
|
95
95
|
FastlaneCore::ConfigItem.new(key: :notes_path,
|
96
96
|
env_name: "TRYOUTS_NOTES_PATH",
|
97
|
-
description: "Release notes text file path. Overrides the :notes
|
97
|
+
description: "Release notes text file path. Overrides the :notes parameter",
|
98
98
|
verify_block: proc do |value|
|
99
99
|
UI.user_error!("Couldn't find notes file at path '#{value}'") unless File.exist?(value)
|
100
100
|
end,
|
@@ -104,7 +104,7 @@ module Fastlane
|
|
104
104
|
end),
|
105
105
|
FastlaneCore::ConfigItem.new(key: :project_slug,
|
106
106
|
env_name: "SENTRY_PROJECT_SLUG",
|
107
|
-
description: "
|
107
|
+
description: "Project slug for Sentry",
|
108
108
|
verify_block: proc do |value|
|
109
109
|
UI.user_error!("No project slug for SentryAction given, pass using `project_slug: 'project'`") unless value and !value.empty?
|
110
110
|
end),
|
@@ -14,6 +14,8 @@ module Fastlane
|
|
14
14
|
|
15
15
|
if params[:version_number]
|
16
16
|
new_version = params[:version_number]
|
17
|
+
elsif params[:version_appendix]
|
18
|
+
new_version = version_podspec_file.update_version_appendix(params[:version_appendix])
|
17
19
|
else
|
18
20
|
new_version = version_podspec_file.bump_version(params[:bump_type])
|
19
21
|
end
|
@@ -34,7 +36,9 @@ module Fastlane
|
|
34
36
|
def self.details
|
35
37
|
[
|
36
38
|
"You can use this action to manipulate any 'version' variable contained in a ruby file.",
|
37
|
-
"For example, you can use it to bump the version of a cocoapods' podspec file."
|
39
|
+
"For example, you can use it to bump the version of a cocoapods' podspec file.",
|
40
|
+
"It also supports versions that are not semantic: 1.4.14.4.1",
|
41
|
+
"For such versions there is an option to change appendix (4.1)"
|
38
42
|
].join("\n")
|
39
43
|
end
|
40
44
|
|
@@ -57,6 +61,10 @@ module Fastlane
|
|
57
61
|
FastlaneCore::ConfigItem.new(key: :version_number,
|
58
62
|
env_name: "FL_VERSION_BUMP_PODSPEC_VERSION_NUMBER",
|
59
63
|
description: "Change to a specific version. This will replace the bump type value",
|
64
|
+
optional: true),
|
65
|
+
FastlaneCore::ConfigItem.new(key: :version_appendix,
|
66
|
+
env_name: "FL_VERSION_BUMP_PODSPEC_VERSION_APPENDIX",
|
67
|
+
description: "Change version appendix to a specific value. For example 1.4.14.4.1 -> 1.4.14.5",
|
60
68
|
optional: true)
|
61
69
|
]
|
62
70
|
end
|
@@ -136,7 +136,7 @@ module Fastlane
|
|
136
136
|
@runner.set_after_each(@current_platform, block)
|
137
137
|
end
|
138
138
|
|
139
|
-
# Is executed if an error
|
139
|
+
# Is executed if an error occurred during fastlane execution
|
140
140
|
def error(&block)
|
141
141
|
@runner.set_error(@current_platform, block)
|
142
142
|
end
|
@@ -84,9 +84,9 @@ module Fastlane
|
|
84
84
|
# Now unzip the file
|
85
85
|
Action.sh "unzip '#{zip_path}' -d '#{containing}'"
|
86
86
|
|
87
|
-
UI.user_error!("
|
87
|
+
UI.user_error!("Couldn't find 'crashlytics-devtools.jar'") unless File.exist?(jar_path)
|
88
88
|
|
89
|
-
UI.success "
|
89
|
+
UI.success "Successfully downloaded Crashlytics Support Library to '#{jar_path}'"
|
90
90
|
rescue => ex
|
91
91
|
UI.user_error!("Error fetching remote file: #{ex}")
|
92
92
|
end
|
@@ -9,7 +9,7 @@ module Fastlane
|
|
9
9
|
|
10
10
|
def initialize(path = nil)
|
11
11
|
version_var_name = 'version'
|
12
|
-
@version_regex = /^(?<begin>[^#]*#{version_var_name}\s*=\s*['"])(?<value>(?<major>[0-9]+)(\.(?<minor>[0-9]+))?(\.(?<patch>[0-9]+))?)(?<end>['"])/i
|
12
|
+
@version_regex = /^(?<begin>[^#]*#{version_var_name}\s*=\s*['"])(?<value>(?<major>[0-9]+)(\.(?<minor>[0-9]+))?(\.(?<patch>[0-9]+))?(?<appendix>(\.[0-9]+)*)?)(?<end>['"])/i
|
13
13
|
|
14
14
|
return unless (path || '').length > 0
|
15
15
|
UI.user_error!("Could not find podspec file at path '#{path}'") unless File.exist?(path)
|
@@ -28,6 +28,8 @@ module Fastlane
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def bump_version(bump_type)
|
31
|
+
UI.user_error!("Do not support bump of 'appendix', please use `update_version_appendix(appendix)` instead") if bump_type == 'appendix'
|
32
|
+
|
31
33
|
major = version_match[:major].to_i
|
32
34
|
minor = version_match[:minor].to_i || 0
|
33
35
|
patch = version_match[:patch].to_i || 0
|
@@ -47,6 +49,18 @@ module Fastlane
|
|
47
49
|
@version_value = "#{major}.#{minor}.#{patch}"
|
48
50
|
end
|
49
51
|
|
52
|
+
def update_version_appendix(appendix = nil)
|
53
|
+
new_appendix = appendix || @version_value[:appendix]
|
54
|
+
return if new_appendix.nil?
|
55
|
+
|
56
|
+
new_appendix = new_appendix.sub(".", "") if new_appendix.start_with?(".")
|
57
|
+
major = version_match[:major].to_i
|
58
|
+
minor = version_match[:minor].to_i || 0
|
59
|
+
patch = version_match[:patch].to_i || 0
|
60
|
+
|
61
|
+
@version_value = "#{major}.#{minor}.#{patch}.#{new_appendix}"
|
62
|
+
end
|
63
|
+
|
50
64
|
def update_podspec(version = nil)
|
51
65
|
new_version = version || @version_value
|
52
66
|
updated_podspec_content = @podspec_content.gsub(@version_regex, "#{@version_match[:begin]}#{new_version}#{@version_match[:end]}")
|
@@ -62,7 +62,7 @@ module Fastlane
|
|
62
62
|
error_blocks[current_platform].call(current_lane, ex, parameters) if current_platform && error_blocks[current_platform]
|
63
63
|
error_blocks[nil].call(current_lane, ex, parameters) if error_blocks[nil]
|
64
64
|
rescue => error_block_exception
|
65
|
-
UI.error("An error
|
65
|
+
UI.error("An error occurred while executing the `error` block:")
|
66
66
|
UI.error(error_block_exception.to_s)
|
67
67
|
raise ex # raise the original error message
|
68
68
|
end
|
@@ -55,7 +55,7 @@ module Fastlane
|
|
55
55
|
handle_exception(exception: ex)
|
56
56
|
else
|
57
57
|
UI.error(ex.to_s)
|
58
|
-
UI.error('An error
|
58
|
+
UI.error('An error occurred during the setup process. Falling back to manual setup!')
|
59
59
|
try_manual_setup
|
60
60
|
end
|
61
61
|
end
|
@@ -21,7 +21,7 @@ module Fastlane
|
|
21
21
|
# this will log a warning if the passed platform is not supported
|
22
22
|
def self.verify!(platform)
|
23
23
|
unless all.include? platform.to_s.to_sym
|
24
|
-
UI.important("Platform '#{platform}' is not officially supported. Currently supported
|
24
|
+
UI.important("Platform '#{platform}' is not officially supported. Currently supported platforms are #{self.all}.")
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -27,7 +27,7 @@ module FastlaneCore
|
|
27
27
|
# @param print_all [Boolean] Do we want to print out the command output while running?
|
28
28
|
# @param print_command [Boolean] Should we print the command that's being executed
|
29
29
|
# @param error [Block] A block that's called if an error occurs
|
30
|
-
# @param prefix [Array] An array
|
30
|
+
# @param prefix [Array] An array containing a prefix + block which might get applied to the output
|
31
31
|
# @param loading [String] A loading string that is shown before the first output
|
32
32
|
# @return [String] All the output as string
|
33
33
|
def execute(command: nil, print_all: false, print_command: true, error: nil, prefix: nil, loading: nil)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module FastlaneCore
|
2
2
|
class ConfigItem
|
3
|
-
# [Symbol] the key which is used as command
|
3
|
+
# [Symbol] the key which is used as command parameters or key in the fastlane tools
|
4
4
|
attr_accessor :key
|
5
5
|
|
6
6
|
# [String] the name of the environment variable, which is only used if no other values were found
|
@@ -40,7 +40,7 @@ module FastlaneCore
|
|
40
40
|
attr_accessor :allow_shell_conversion
|
41
41
|
|
42
42
|
# Creates a new option
|
43
|
-
# @param key (Symbol) the key which is used as command
|
43
|
+
# @param key (Symbol) the key which is used as command parameters or key in the fastlane tools
|
44
44
|
# @param env_name (String) the name of the environment variable, which is only used if no other values were found
|
45
45
|
# @param description (String) A description shown to the user
|
46
46
|
# @param short_option (String) A string of length 1 which is used for the command parameters (e.g. -f)
|
data/gym/lib/gym/options.rb
CHANGED
@@ -9,6 +9,24 @@ module Gym
|
|
9
9
|
@options = plain_options
|
10
10
|
end
|
11
11
|
|
12
|
+
def self.legacy_api_note!
|
13
|
+
UI.important "Unfortunately the legacy build API was removed with Xcode 8.3."
|
14
|
+
UI.important "Please make sure to remove use_legacy_build_api from your ./fastlane/Fastfile"
|
15
|
+
UI.important "and update the gym call to include the export method like this:"
|
16
|
+
UI.important "== App Store Builds =="
|
17
|
+
UI.error ' gym(scheme: "MyScheme", export_method: "app-store")'
|
18
|
+
UI.important "== Ad Hoc Builds =="
|
19
|
+
UI.error ' gym(scheme: "MyScheme", export_method: "ad-hoc")'
|
20
|
+
UI.important "== Development Builds =="
|
21
|
+
UI.error ' gym(scheme: "MyScheme", export_method: "development")'
|
22
|
+
UI.important "== In-House Enterprise Builds =="
|
23
|
+
UI.error ' gym(scheme: "MyScheme", export_method: "enterprise")'
|
24
|
+
UI.important "If you run into a code signing error, please check out our troubleshooting guide for more information on how to solve the most common issues"
|
25
|
+
UI.error " https://docs.fastlane.tools/codesigning/troubleshooting/ 🚀"
|
26
|
+
UI.important ""
|
27
|
+
UI.user_error! "legacy_build_api removed!"
|
28
|
+
end
|
29
|
+
|
12
30
|
def self.plain_options
|
13
31
|
[
|
14
32
|
FastlaneCore::ConfigItem.new(key: :workspace,
|
@@ -104,6 +122,9 @@ module Gym
|
|
104
122
|
if value
|
105
123
|
UI.important "Don't use this option any more, as it's deprecated by Apple"
|
106
124
|
end
|
125
|
+
if Gym::Xcode.legacy_api_deprecated?
|
126
|
+
Gym::Options.legacy_api_note!
|
127
|
+
end
|
107
128
|
end),
|
108
129
|
FastlaneCore::ConfigItem.new(key: :export_method,
|
109
130
|
short_option: "-j",
|
data/gym/lib/gym/xcode.rb
CHANGED
@@ -16,6 +16,12 @@ module Gym
|
|
16
16
|
is_pre = v.split('.')[0].to_i < 7
|
17
17
|
is_pre
|
18
18
|
end
|
19
|
+
|
20
|
+
def legacy_api_deprecated?
|
21
|
+
UI.user_error!("Unable to locate Xcode. Please make sure to have Xcode installed on your machine") if xcode_version.nil?
|
22
|
+
v = xcode_version
|
23
|
+
Gem::Version.new(v) >= Gem::Version.new('8.3.0')
|
24
|
+
end
|
19
25
|
end
|
20
26
|
end
|
21
27
|
end
|
data/scan/lib/scan/options.rb
CHANGED
@@ -135,7 +135,7 @@ module Scan
|
|
135
135
|
FastlaneCore::ConfigItem.new(key: :test_without_building,
|
136
136
|
short_option: "-T",
|
137
137
|
env_name: "SCAN_TEST_WITHOUT_BUILDING",
|
138
|
-
description: "Test without building, requires a
|
138
|
+
description: "Test without building, requires a derived data path",
|
139
139
|
is_string: false,
|
140
140
|
conflicting_options: [:build_for_testing],
|
141
141
|
optional: true),
|
@@ -200,7 +200,7 @@ module Spaceship
|
|
200
200
|
|
201
201
|
# Create a new provisioning profile
|
202
202
|
# @param name (String): The name of the provisioning profile on the Dev Portal
|
203
|
-
# @param bundle_id (String): The app identifier, this
|
203
|
+
# @param bundle_id (String): The app identifier, this parameter is required
|
204
204
|
# @param certificate (Certificate): The certificate that should be used with this
|
205
205
|
# provisioning profile. You can also pass an array of certificates to this method. This will
|
206
206
|
# only work for development profiles
|
@@ -584,7 +584,7 @@ module Spaceship
|
|
584
584
|
lang_details = languages[0]
|
585
585
|
display_families = lang_details["displayFamilies"]["value"]
|
586
586
|
device_details = display_families.find { |display_family| display_family['name'] == device }
|
587
|
-
raise "Couldn't find device
|
587
|
+
raise "Couldn't find device family for #{device}" if device_details.nil?
|
588
588
|
raise "Unexpected state: missing device details for #{device}" unless device_details.key?(data_field)
|
589
589
|
return device_details[data_field]
|
590
590
|
rescue => ex
|
data/supply/lib/supply/client.rb
CHANGED
@@ -40,7 +40,7 @@ module Supply
|
|
40
40
|
# Initializes the android_publisher and its auth_client using the specified information
|
41
41
|
# @param service_account_json: The raw service account Json data
|
42
42
|
# @param path_to_key: The path to your p12 file (@deprecated)
|
43
|
-
# @param issuer: Email
|
43
|
+
# @param issuer: Email address for oauth (@deprecated)
|
44
44
|
def initialize(path_to_key: nil, issuer: nil, service_account_json: nil)
|
45
45
|
scope = Androidpublisher::AUTH_ANDROIDPUBLISHER
|
46
46
|
|
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.26.0.beta.
|
4
|
+
version: 2.26.0.beta.20170406010019
|
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-04-
|
17
|
+
date: 2017-04-06 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: slack-notifier
|
@@ -1297,23 +1297,23 @@ metadata:
|
|
1297
1297
|
post_install_message:
|
1298
1298
|
rdoc_options: []
|
1299
1299
|
require_paths:
|
1300
|
-
- sigh/lib
|
1301
|
-
- spaceship/lib
|
1302
|
-
- pem/lib
|
1303
1300
|
- match/lib
|
1304
|
-
- fastlane/lib
|
1305
|
-
- pilot/lib
|
1306
|
-
- screengrab/lib
|
1307
1301
|
- frameit/lib
|
1308
1302
|
- gym/lib
|
1309
|
-
- produce/lib
|
1310
|
-
- supply/lib
|
1311
|
-
- scan/lib
|
1312
|
-
- fastlane_core/lib
|
1313
1303
|
- credentials_manager/lib
|
1304
|
+
- sigh/lib
|
1305
|
+
- supply/lib
|
1314
1306
|
- snapshot/lib
|
1307
|
+
- fastlane_core/lib
|
1308
|
+
- pilot/lib
|
1309
|
+
- produce/lib
|
1310
|
+
- scan/lib
|
1315
1311
|
- deliver/lib
|
1312
|
+
- pem/lib
|
1313
|
+
- screengrab/lib
|
1314
|
+
- fastlane/lib
|
1316
1315
|
- cert/lib
|
1316
|
+
- spaceship/lib
|
1317
1317
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1318
1318
|
requirements:
|
1319
1319
|
- - ">="
|