fastlane 1.36.4 → 1.37.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/README.md +1 -1
- data/lib/fastlane/actions/crashlytics.rb +6 -0
- data/lib/fastlane/actions/install_xcode_plugin.rb +46 -0
- data/lib/fastlane/actions/s3.rb +16 -5
- data/lib/fastlane/actions/splunkmint.rb +18 -3
- data/lib/fastlane/actions/xcode_install.rb +82 -0
- data/lib/fastlane/actions/xcode_select.rb +1 -1
- data/lib/fastlane/helper/crashlytics_helper.rb +1 -0
- data/lib/fastlane/helper/sh_helper.rb +1 -0
- data/lib/fastlane/version.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4793357ce92d97781498a3d157ccf7b5f006d205
|
4
|
+
data.tar.gz: 85a52b0db7e07c517ce85d7131e3803d579ef41d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13d07ce3a8741163350e4ef5d6a374d7235b9dff8b7f4dfeb28b9156d1b7b16be8b3dc2e81a6a5225d64fa49e8b024ef6962ee62e2b04051dd679e0560d758f8
|
7
|
+
data.tar.gz: 8aea7f461df3f6924f6613bbfbc803af874c2f9d238d55a2c4fb66aa0213b93e1644e4183bb2e226c53475b1c21ed851f1a2b28c3b4c0bf7a3bbb09e73c026e5
|
data/README.md
CHANGED
@@ -152,7 +152,7 @@ See how [Wikipedia](https://github.com/fastlane/examples#wikipedia-by-wikimedia-
|
|
152
152
|
|
153
153
|
## [`fastlane`](https://fastlane.tools) Toolchain
|
154
154
|
|
155
|
-
`fastlane` is designed to make your life easier by bringing together all `fastlane` tools
|
155
|
+
`fastlane` is designed to make your life easier by bringing together all `fastlane` tools
|
156
156
|
|
157
157
|
- [`deliver`](https://github.com/fastlane/deliver): Upload screenshots, metadata and your app to the App Store
|
158
158
|
- [`snapshot`](https://github.com/fastlane/snapshot): Automate taking localized screenshots of your iOS app on every device
|
@@ -108,7 +108,13 @@ module Fastlane
|
|
108
108
|
env_name: "CRASHLYTICS_NOTIFICATIONS",
|
109
109
|
description: "Crashlytics notification option (true/false)",
|
110
110
|
default_value: true,
|
111
|
+
is_string: false),
|
112
|
+
FastlaneCore::ConfigItem.new(key: :debug,
|
113
|
+
env_name: "CRASHLYTICS_DEBUG",
|
114
|
+
description: "Crashlytics debug option (true/false)",
|
115
|
+
default_value: false,
|
111
116
|
is_string: false)
|
117
|
+
|
112
118
|
]
|
113
119
|
end
|
114
120
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class InstallXcodePluginAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
zip_path = File.join(Dir.tmpdir, 'plugin.zip')
|
6
|
+
sh "curl -Lso #{zip_path} #{params[:url]}"
|
7
|
+
Action.sh "unzip -qo '#{zip_path}' -d '#{ENV['HOME']}/Library/Application Support/Developer/Shared/Xcode/Plug-ins'"
|
8
|
+
|
9
|
+
Helper.log.info("Plugin #{File.basename(params[:url], '.zip')} installed successfully")
|
10
|
+
end
|
11
|
+
|
12
|
+
#####################################################
|
13
|
+
# @!group Documentation
|
14
|
+
#####################################################
|
15
|
+
|
16
|
+
def self.description
|
17
|
+
"Install an Xcode plugin for the current user"
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.available_options
|
21
|
+
[
|
22
|
+
FastlaneCore::ConfigItem.new(key: :url,
|
23
|
+
env_name: "FL_XCODE_PLUGIN_URL",
|
24
|
+
description: "URL for Xcode plugin ZIP file",
|
25
|
+
verify_block: proc do |value|
|
26
|
+
raise "No URL for InstallXcodePluginAction given, pass using `url: 'url'`".red unless value and !value.empty?
|
27
|
+
end)
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.output
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.return_value
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.authors
|
38
|
+
["NeoNachoSoto"]
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.is_supported?(platform)
|
42
|
+
[:ios, :mac, :tvos, :watchos, :caros].include?(platform)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/fastlane/actions/s3.rb
CHANGED
@@ -50,6 +50,7 @@ module Fastlane
|
|
50
50
|
build_args = params_to_build_args(params)
|
51
51
|
|
52
52
|
# Pulling parameters for other uses
|
53
|
+
s3_region = params[:region]
|
53
54
|
s3_subdomain = params[:region] ? "s3-#{params[:region]}" : "s3"
|
54
55
|
s3_access_key = params[:access_key]
|
55
56
|
s3_secret_access_key = params[:secret_access_key]
|
@@ -166,6 +167,7 @@ module Fastlane
|
|
166
167
|
s3_access_key,
|
167
168
|
s3_secret_access_key,
|
168
169
|
s3_bucket,
|
170
|
+
s3_region,
|
169
171
|
plist_file_name,
|
170
172
|
plist_render,
|
171
173
|
html_file_name,
|
@@ -191,13 +193,22 @@ module Fastlane
|
|
191
193
|
end.compact
|
192
194
|
end
|
193
195
|
|
194
|
-
def self.upload_plist_and_html_to_s3(s3_access_key, s3_secret_access_key, s3_bucket, plist_file_name, plist_render, html_file_name, html_render, version_file_name, version_render)
|
196
|
+
def self.upload_plist_and_html_to_s3(s3_access_key, s3_secret_access_key, s3_bucket, s3_region, plist_file_name, plist_render, html_file_name, html_render, version_file_name, version_render)
|
195
197
|
Actions.verify_gem!('aws-sdk')
|
196
198
|
require 'aws-sdk'
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
199
|
+
if s3_region
|
200
|
+
s3_client = AWS::S3.new(
|
201
|
+
access_key_id: s3_access_key,
|
202
|
+
secret_access_key: s3_secret_access_key,
|
203
|
+
region: s3_region
|
204
|
+
)
|
205
|
+
else
|
206
|
+
s3_client = AWS::S3.new(
|
207
|
+
access_key_id: s3_access_key,
|
208
|
+
secret_access_key: s3_secret_access_key
|
209
|
+
)
|
210
|
+
end
|
211
|
+
|
201
212
|
bucket = s3_client.buckets[s3_bucket]
|
202
213
|
|
203
214
|
plist_obj = bucket.objects.create(plist_file_name, plist_render.to_s, acl: :public_read)
|
@@ -8,15 +8,20 @@ module Fastlane
|
|
8
8
|
command += proxy_options(params)
|
9
9
|
command += upload_options(params)
|
10
10
|
command << upload_url
|
11
|
+
command << upload_progress(params)
|
11
12
|
|
12
|
-
|
13
|
+
# Fastlane::Actions.sh has buffering issues, no progress bar is shown in real time
|
14
|
+
# will reanable it when it is fixed
|
15
|
+
# result = Fastlane::Actions.sh(command.join(' '), log: false)
|
16
|
+
shell_command = command.join(' ')
|
17
|
+
result = Helper.is_test? ? shell_command : `#{shell_command}`
|
13
18
|
fail_on_error(result)
|
14
19
|
|
15
20
|
result
|
16
21
|
end
|
17
22
|
|
18
23
|
def self.fail_on_error(result)
|
19
|
-
if result.include?("error")
|
24
|
+
if result.include?("error")
|
20
25
|
raise "Server error, failed to upload the dSYM file".red
|
21
26
|
end
|
22
27
|
end
|
@@ -26,7 +31,11 @@ module Fastlane
|
|
26
31
|
end
|
27
32
|
|
28
33
|
def self.verbose(params)
|
29
|
-
params[:verbose] ? "--verbose" : "
|
34
|
+
params[:verbose] ? "--verbose" : ""
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.upload_progress(params)
|
38
|
+
params[:upload_progress] ? " --progress-bar -o /dev/null --no-buffer" : ""
|
30
39
|
end
|
31
40
|
|
32
41
|
def self.dsym_path(params)
|
@@ -93,6 +102,12 @@ module Fastlane
|
|
93
102
|
is_string: false,
|
94
103
|
default_value: false,
|
95
104
|
optional: true),
|
105
|
+
FastlaneCore::ConfigItem.new(key: :upload_progress,
|
106
|
+
env_name: "FL_SPLUNKMINT_UPLOAD_PROGRESS",
|
107
|
+
description: "Show upload progress",
|
108
|
+
is_string: false,
|
109
|
+
default_value: false,
|
110
|
+
optional: true),
|
96
111
|
FastlaneCore::ConfigItem.new(key: :proxy_username,
|
97
112
|
env_name: "FL_SPLUNKMINT_PROXY_USERNAME",
|
98
113
|
description: "Proxy username",
|
@@ -0,0 +1,82 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
XCODE_INSTALL_XCODE_PATH = :XCODE_INSTALL_XCODE_PATH
|
5
|
+
end
|
6
|
+
|
7
|
+
class XcodeInstallAction < Action
|
8
|
+
def self.run(params)
|
9
|
+
ENV["XCODE_INSTALL_USER"] = params[:username]
|
10
|
+
ENV["XCODE_INSTALL_TEAM_ID"] = params[:team_id]
|
11
|
+
|
12
|
+
require 'xcode/install'
|
13
|
+
installer = XcodeInstall::Installer.new
|
14
|
+
|
15
|
+
if installer.installed?(params[:version])
|
16
|
+
Helper.log.info "Xcode #{params[:version]} is already installed ✨".green
|
17
|
+
else
|
18
|
+
installer.install_version(params[:version], true, true, true, true)
|
19
|
+
end
|
20
|
+
|
21
|
+
xcode = installer.installed_versions.find { |x| x.version == params[:version] }
|
22
|
+
raise "Could not find Xcode with version '#{params[:version]}'" unless xcode
|
23
|
+
Helper.log.info "Using Xcode #{params[:version]} on path '#{xcode.path}'"
|
24
|
+
xcode.approve_license
|
25
|
+
|
26
|
+
ENV["DEVELOPER_DIR"] = File.join(xcode.path, "/Contents/Developer")
|
27
|
+
Actions.lane_context[SharedValues::XCODE_INSTALL_XCODE_PATH] = xcode.path
|
28
|
+
return xcode.path
|
29
|
+
end
|
30
|
+
|
31
|
+
#####################################################
|
32
|
+
# @!group Documentation
|
33
|
+
#####################################################
|
34
|
+
|
35
|
+
def self.description
|
36
|
+
"Make sure a certain version of Xcode is installed"
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.details
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.available_options
|
43
|
+
[
|
44
|
+
FastlaneCore::ConfigItem.new(key: :version,
|
45
|
+
env_name: "FL_XCODE_VERSION",
|
46
|
+
description: "The version number of the version of Xcode to install",
|
47
|
+
verify_block: proc do |value|
|
48
|
+
end),
|
49
|
+
FastlaneCore::ConfigItem.new(key: :username,
|
50
|
+
short_option: "-u",
|
51
|
+
env_name: "XCODE_INSTALL_USER",
|
52
|
+
description: "Your Apple ID Username",
|
53
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)),
|
54
|
+
FastlaneCore::ConfigItem.new(key: :team_id,
|
55
|
+
short_option: "-b",
|
56
|
+
env_name: "XCODE_INSTALL_TEAM_ID",
|
57
|
+
description: "The ID of your team if you're in multiple teams",
|
58
|
+
optional: true,
|
59
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id))
|
60
|
+
]
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.output
|
64
|
+
[
|
65
|
+
['XCODE_INSTALL_CUSTOM_VALUE', 'A description of what this value contains']
|
66
|
+
]
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.return_value
|
70
|
+
"The path to the newly installed Xcode version"
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.authors
|
74
|
+
["Krausefx"]
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.is_supported?(platform)
|
78
|
+
[:ios, :mac].include?(platform)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -30,7 +30,7 @@ module Fastlane
|
|
30
30
|
|
31
31
|
Helper.log.info "Setting Xcode version to #{xcode_path} for all build steps"
|
32
32
|
|
33
|
-
ENV["DEVELOPER_DIR"] = xcode_path
|
33
|
+
ENV["DEVELOPER_DIR"] = File.join(xcode_path, "/Contents/Developer")
|
34
34
|
end
|
35
35
|
|
36
36
|
def self.description
|
@@ -15,6 +15,7 @@ module Fastlane
|
|
15
15
|
command << "-notesPath '#{params[:notes_path]}'" if params[:notes_path]
|
16
16
|
command << "-groupAliases '#{params[:groups]}'" if params[:groups]
|
17
17
|
command << "-notifications #{(params[:notifications] ? 'YES' : 'NO')}"
|
18
|
+
command << "-debug #{(params[:debug] ? 'YES' : 'NO')}"
|
18
19
|
|
19
20
|
return command
|
20
21
|
end
|
data/lib/fastlane/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.37.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: krausefx-shenzhen
|
@@ -156,6 +156,20 @@ dependencies:
|
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: 2.3.8
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: xcode-install
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 1.0.1
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 1.0.1
|
159
173
|
- !ruby/object:Gem::Dependency
|
160
174
|
name: fastlane_core
|
161
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -625,6 +639,7 @@ files:
|
|
625
639
|
- lib/fastlane/actions/import_from_git.rb
|
626
640
|
- lib/fastlane/actions/increment_build_number.rb
|
627
641
|
- lib/fastlane/actions/increment_version_number.rb
|
642
|
+
- lib/fastlane/actions/install_xcode_plugin.rb
|
628
643
|
- lib/fastlane/actions/ipa.rb
|
629
644
|
- lib/fastlane/actions/is_ci.rb
|
630
645
|
- lib/fastlane/actions/lane_context.rb
|
@@ -677,6 +692,7 @@ files:
|
|
677
692
|
- lib/fastlane/actions/verify_xcode.rb
|
678
693
|
- lib/fastlane/actions/version_bump_podspec.rb
|
679
694
|
- lib/fastlane/actions/version_get_podspec.rb
|
695
|
+
- lib/fastlane/actions/xcode_install.rb
|
680
696
|
- lib/fastlane/actions/xcode_select.rb
|
681
697
|
- lib/fastlane/actions/xcode_server_get_assets.rb
|
682
698
|
- lib/fastlane/actions/xcodebuild.rb
|