fastlane 1.105.2 → 1.105.3
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/lib/.DS_Store +0 -0
- data/lib/assets/.DS_Store +0 -0
- data/lib/assets/completions/.DS_Store +0 -0
- data/lib/fastlane/.DS_Store +0 -0
- data/lib/fastlane/actions/.DS_Store +0 -0
- data/lib/fastlane/actions/badge.rb +15 -0
- data/lib/fastlane/actions/crashlytics.rb +1 -1
- data/lib/fastlane/actions/device_grid/.DS_Store +0 -0
- data/lib/fastlane/actions/set_github_release.rb +3 -2
- data/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -1
- data/lib/fastlane/lane_manager.rb +6 -0
- data/lib/fastlane/plugins/plugin_info.rb +3 -1
- data/lib/fastlane/plugins/plugin_info_collector.rb +21 -1
- data/lib/fastlane/plugins/template/.rubocop.yml +36 -0
- data/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +9 -0
- data/lib/fastlane/version.rb +1 -1
- metadata +24 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da5ecd261ef3458981590b6615a7b3792cf38878
|
4
|
+
data.tar.gz: b94708d6fe39e77647cad23e216fcb3fada423e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be576aed7bab0da1a505f6304cf77bbe938f964b75dcf7cb773167a15723b5bb45e8860639acdbfe92747ea8e9c9a33cba97ca02f9e6350281d27a0808e995bc
|
7
|
+
data.tar.gz: 8ce022ea7257265780fd6621acb86b0be0a3d882e182a031ba39611de98640a9f45a3ff2e350e89db819023a3c7e13b0dc280372f481e3f3482bea3efae624a4
|
data/lib/.DS_Store
CHANGED
Binary file
|
Binary file
|
Binary file
|
data/lib/fastlane/.DS_Store
CHANGED
Binary file
|
Binary file
|
@@ -3,6 +3,7 @@ module Fastlane
|
|
3
3
|
class BadgeAction < Action
|
4
4
|
def self.run(params)
|
5
5
|
Actions.verify_gem!('badge')
|
6
|
+
check_imagemagick!
|
6
7
|
require 'badge'
|
7
8
|
options = {
|
8
9
|
dark: params[:dark],
|
@@ -140,6 +141,20 @@ module Fastlane
|
|
140
141
|
def self.is_supported?(platform)
|
141
142
|
[:ios, :mac, :android].include?(platform)
|
142
143
|
end
|
144
|
+
|
145
|
+
def self.check_imagemagick!
|
146
|
+
return if `which convert`.include?('convert')
|
147
|
+
|
148
|
+
UI.error("You have to install ImageMagick to use `badge`")
|
149
|
+
UI.error("")
|
150
|
+
UI.error("Install it using:")
|
151
|
+
UI.command("brew update && brew install imagemagick")
|
152
|
+
UI.error("")
|
153
|
+
UI.error("If you don't have homebrew, visit http://brew.sh")
|
154
|
+
|
155
|
+
UI.user_error!("Install ImageMagick and start your lane again!")
|
156
|
+
end
|
157
|
+
private_class_method :check_imagemagick!
|
143
158
|
end
|
144
159
|
end
|
145
160
|
end
|
@@ -101,7 +101,7 @@ module Fastlane
|
|
101
101
|
end),
|
102
102
|
FastlaneCore::ConfigItem.new(key: :api_token,
|
103
103
|
env_name: "CRASHLYTICS_API_TOKEN",
|
104
|
-
description: "Crashlytics
|
104
|
+
description: "Crashlytics API Key",
|
105
105
|
verify_block: proc do |value|
|
106
106
|
UI.user_error!("No API token for Crashlytics given, pass using `api_token: 'token'`") unless value && !value.empty?
|
107
107
|
end),
|
Binary file
|
@@ -65,10 +65,10 @@ module Fastlane
|
|
65
65
|
UI.error("Release on tag #{params[:tag_name]} already exists!")
|
66
66
|
when 404
|
67
67
|
UI.error(response.body)
|
68
|
-
UI.user_error!("Repository #{params[:repository_name]} cannot be found, please double check its name and that you provided a valid API token (
|
68
|
+
UI.user_error!("Repository #{params[:repository_name]} cannot be found, please double check its name and that you provided a valid API token (GITHUB_API_TOKEN)")
|
69
69
|
when 401
|
70
70
|
UI.error(response.body)
|
71
|
-
UI.user_error!("You are not authorized to access #{params[:repository_name]}, please make sure you provided a valid API token
|
71
|
+
UI.user_error!("You are not authorized to access #{params[:repository_name]}, please make sure you provided a valid API token (GITHUB_API_TOKEN)")
|
72
72
|
else
|
73
73
|
if response[:status] != 200
|
74
74
|
UI.error("GitHub responded with #{response[:status]}:#{response[:body]}")
|
@@ -188,6 +188,7 @@ module Fastlane
|
|
188
188
|
env_name: "FL_GITHUB_RELEASE_API_TOKEN",
|
189
189
|
description: "Personal API Token for GitHub - generate one at https://github.com/settings/tokens",
|
190
190
|
is_string: true,
|
191
|
+
default_value: ENV["GITHUB_API_TOKEN"],
|
191
192
|
optional: false),
|
192
193
|
FastlaneCore::ConfigItem.new(key: :tag_name,
|
193
194
|
env_name: "FL_SET_GITHUB_RELEASE_TAG_NAME",
|
@@ -114,7 +114,7 @@ module Fastlane
|
|
114
114
|
FastlaneCore::ConfigItem.new(key: :api_token,
|
115
115
|
env_name: "CRASHLYTICS_API_TOKEN",
|
116
116
|
optional: true,
|
117
|
-
description: "Crashlytics
|
117
|
+
description: "Crashlytics API Key",
|
118
118
|
verify_block: proc do |value|
|
119
119
|
UI.user_error!("No API token for Crashlytics given, pass using `api_token: 'token'`") if value.to_s.length == 0
|
120
120
|
end),
|
@@ -38,6 +38,12 @@ module Fastlane
|
|
38
38
|
|
39
39
|
platform, lane = choose_lane(ff, platform) unless lane
|
40
40
|
|
41
|
+
# xcodeproj has a bug in certain versions that causes it to change directories
|
42
|
+
# and not return to the original working directory
|
43
|
+
# https://github.com/CocoaPods/Xcodeproj/issues/426
|
44
|
+
# Setting this environment variable causes xcodeproj to work around the problem
|
45
|
+
ENV["FORK_XCODE_WRITING"] = "true" unless platform == 'android'
|
46
|
+
|
41
47
|
load_dot_env(env)
|
42
48
|
|
43
49
|
started = Time.now
|
@@ -5,12 +5,14 @@ module Fastlane
|
|
5
5
|
attr_reader :gem_name
|
6
6
|
attr_reader :email
|
7
7
|
attr_reader :summary
|
8
|
+
attr_reader :details
|
8
9
|
|
9
|
-
def initialize(plugin_name, author, email, summary)
|
10
|
+
def initialize(plugin_name, author, email, summary, details)
|
10
11
|
@plugin_name = plugin_name
|
11
12
|
@author = author
|
12
13
|
@email = email
|
13
14
|
@summary = summary
|
15
|
+
@details = details
|
14
16
|
end
|
15
17
|
|
16
18
|
def gem_name
|
@@ -9,8 +9,9 @@ module Fastlane
|
|
9
9
|
author = collect_author(detect_author)
|
10
10
|
email = collect_email(detect_email)
|
11
11
|
summary = collect_summary
|
12
|
+
details = collect_details
|
12
13
|
|
13
|
-
PluginInfo.new(plugin_name, author, email, summary)
|
14
|
+
PluginInfo.new(plugin_name, author, email, summary, details)
|
14
15
|
end
|
15
16
|
|
16
17
|
#
|
@@ -147,5 +148,24 @@ module Fastlane
|
|
147
148
|
def summary_valid?(summary)
|
148
149
|
!summary.to_s.strip.empty?
|
149
150
|
end
|
151
|
+
#
|
152
|
+
# Summary
|
153
|
+
#
|
154
|
+
|
155
|
+
def collect_details
|
156
|
+
details = nil
|
157
|
+
loop do
|
158
|
+
details = @ui.input("\nPlease enter a detailed description of this fastlane plugin:")
|
159
|
+
break if details_valid?(details)
|
160
|
+
|
161
|
+
@ui.message('A detailed description is required.')
|
162
|
+
end
|
163
|
+
|
164
|
+
details
|
165
|
+
end
|
166
|
+
|
167
|
+
def details_valid?(details)
|
168
|
+
!details.to_s.strip.empty?
|
169
|
+
end
|
150
170
|
end
|
151
171
|
end
|
@@ -2,6 +2,42 @@
|
|
2
2
|
Style/ClassCheck:
|
3
3
|
EnforcedStyle: kind_of?
|
4
4
|
|
5
|
+
# .length == 0 is also good, we don't always want .zero?
|
6
|
+
Style/NumericPredicate:
|
7
|
+
Enabled: false
|
8
|
+
|
9
|
+
# this would cause errors with long lanes
|
10
|
+
Metrics/BlockLength:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
# certificate_1 is an okay variable name
|
14
|
+
Style/VariableNumber:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
# This is used a lot across the fastlane code base for config files
|
18
|
+
Style/MethodMissing:
|
19
|
+
Enabled: false
|
20
|
+
|
21
|
+
#
|
22
|
+
# File.chmod(0777, f)
|
23
|
+
#
|
24
|
+
# is easier to read than
|
25
|
+
#
|
26
|
+
# File.chmod(0o777, f)
|
27
|
+
#
|
28
|
+
Style/NumericLiteralPrefix:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
#
|
32
|
+
# command = (!clean_expired.nil? || !clean_pattern.nil?) ? CLEANUP : LIST
|
33
|
+
#
|
34
|
+
# is easier to read than
|
35
|
+
#
|
36
|
+
# command = !clean_expired.nil? || !clean_pattern.nil? ? CLEANUP : LIST
|
37
|
+
#
|
38
|
+
Style/TernaryParentheses:
|
39
|
+
Enabled: false
|
40
|
+
|
5
41
|
# It's better to be more explicit about the type
|
6
42
|
Style/BracesAroundHashParameters:
|
7
43
|
Enabled: false
|
@@ -13,6 +13,15 @@ module Fastlane
|
|
13
13
|
["<%= author.gsub('"', "'") %>"]
|
14
14
|
end
|
15
15
|
|
16
|
+
def self.return_value
|
17
|
+
# If your method provides a return value, you can describe here what it does
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.details
|
21
|
+
# Optional:
|
22
|
+
"<%= details.gsub('"', "'") %>"
|
23
|
+
end
|
24
|
+
|
16
25
|
def self.available_options
|
17
26
|
[
|
18
27
|
# FastlaneCore::ConfigItem.new(key: :your_option,
|
data/lib/fastlane/version.rb
CHANGED
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: 1.105.
|
4
|
+
version: 1.105.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2016-10-
|
18
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: krausefx-shenzhen
|
@@ -83,14 +83,20 @@ dependencies:
|
|
83
83
|
requirements:
|
84
84
|
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: 0.2.
|
86
|
+
version: 0.2.4
|
87
|
+
- - "<"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.0.0
|
87
90
|
type: :runtime
|
88
91
|
prerelease: false
|
89
92
|
version_requirements: !ruby/object:Gem::Requirement
|
90
93
|
requirements:
|
91
94
|
- - ">="
|
92
95
|
- !ruby/object:Gem::Version
|
93
|
-
version: 0.2.
|
96
|
+
version: 0.2.4
|
97
|
+
- - "<"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 1.0.0
|
94
100
|
- !ruby/object:Gem::Dependency
|
95
101
|
name: terminal-notifier
|
96
102
|
requirement: !ruby/object:Gem::Requirement
|
@@ -219,7 +225,7 @@ dependencies:
|
|
219
225
|
requirements:
|
220
226
|
- - ">="
|
221
227
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.52.
|
228
|
+
version: 0.52.3
|
223
229
|
- - "<"
|
224
230
|
- !ruby/object:Gem::Version
|
225
231
|
version: 1.0.0
|
@@ -229,7 +235,7 @@ dependencies:
|
|
229
235
|
requirements:
|
230
236
|
- - ">="
|
231
237
|
- !ruby/object:Gem::Version
|
232
|
-
version: 0.52.
|
238
|
+
version: 0.52.3
|
233
239
|
- - "<"
|
234
240
|
- !ruby/object:Gem::Version
|
235
241
|
version: 1.0.0
|
@@ -253,7 +259,7 @@ dependencies:
|
|
253
259
|
requirements:
|
254
260
|
- - ">="
|
255
261
|
- !ruby/object:Gem::Version
|
256
|
-
version: 0.16.
|
262
|
+
version: 0.16.2
|
257
263
|
- - "<"
|
258
264
|
- !ruby/object:Gem::Version
|
259
265
|
version: 1.0.0
|
@@ -263,7 +269,7 @@ dependencies:
|
|
263
269
|
requirements:
|
264
270
|
- - ">="
|
265
271
|
- !ruby/object:Gem::Version
|
266
|
-
version: 0.16.
|
272
|
+
version: 0.16.2
|
267
273
|
- - "<"
|
268
274
|
- !ruby/object:Gem::Version
|
269
275
|
version: 1.0.0
|
@@ -273,7 +279,7 @@ dependencies:
|
|
273
279
|
requirements:
|
274
280
|
- - ">="
|
275
281
|
- !ruby/object:Gem::Version
|
276
|
-
version: 0.
|
282
|
+
version: 0.36.0
|
277
283
|
- - "<"
|
278
284
|
- !ruby/object:Gem::Version
|
279
285
|
version: 1.0.0
|
@@ -283,7 +289,7 @@ dependencies:
|
|
283
289
|
requirements:
|
284
290
|
- - ">="
|
285
291
|
- !ruby/object:Gem::Version
|
286
|
-
version: 0.
|
292
|
+
version: 0.36.0
|
287
293
|
- - "<"
|
288
294
|
- !ruby/object:Gem::Version
|
289
295
|
version: 1.0.0
|
@@ -433,7 +439,7 @@ dependencies:
|
|
433
439
|
requirements:
|
434
440
|
- - ">="
|
435
441
|
- !ruby/object:Gem::Version
|
436
|
-
version: 1.11.
|
442
|
+
version: 1.11.3
|
437
443
|
- - "<"
|
438
444
|
- !ruby/object:Gem::Version
|
439
445
|
version: 2.0.0
|
@@ -443,7 +449,7 @@ dependencies:
|
|
443
449
|
requirements:
|
444
450
|
- - ">="
|
445
451
|
- !ruby/object:Gem::Version
|
446
|
-
version: 1.11.
|
452
|
+
version: 1.11.3
|
447
453
|
- - "<"
|
448
454
|
- !ruby/object:Gem::Version
|
449
455
|
version: 2.0.0
|
@@ -679,14 +685,14 @@ dependencies:
|
|
679
685
|
requirements:
|
680
686
|
- - "~>"
|
681
687
|
- !ruby/object:Gem::Version
|
682
|
-
version: 0.
|
688
|
+
version: 0.44.0
|
683
689
|
type: :development
|
684
690
|
prerelease: false
|
685
691
|
version_requirements: !ruby/object:Gem::Requirement
|
686
692
|
requirements:
|
687
693
|
- - "~>"
|
688
694
|
- !ruby/object:Gem::Version
|
689
|
-
version: 0.
|
695
|
+
version: 0.44.0
|
690
696
|
- !ruby/object:Gem::Dependency
|
691
697
|
name: rest-client
|
692
698
|
requirement: !ruby/object:Gem::Requirement
|
@@ -730,12 +736,14 @@ files:
|
|
730
736
|
- bin/fastlane
|
731
737
|
- "bin/\U0001F680"
|
732
738
|
- lib/.DS_Store
|
739
|
+
- lib/assets/.DS_Store
|
733
740
|
- lib/assets/Actions.md.erb
|
734
741
|
- lib/assets/AppfileTemplate
|
735
742
|
- lib/assets/AppfileTemplateAndroid
|
736
743
|
- lib/assets/AvailablePlugins.md.erb
|
737
744
|
- lib/assets/DefaultFastfileTemplate
|
738
745
|
- lib/assets/FastfileTemplateAndroid
|
746
|
+
- lib/assets/completions/.DS_Store
|
739
747
|
- lib/assets/completions/completion.bash
|
740
748
|
- lib/assets/completions/completion.sh
|
741
749
|
- lib/assets/completions/completion.zsh
|
@@ -789,6 +797,7 @@ files:
|
|
789
797
|
- lib/fastlane/actions/delete_keychain.rb
|
790
798
|
- lib/fastlane/actions/deliver.rb
|
791
799
|
- lib/fastlane/actions/deploygate.rb
|
800
|
+
- lib/fastlane/actions/device_grid/.DS_Store
|
792
801
|
- lib/fastlane/actions/device_grid/README.md
|
793
802
|
- lib/fastlane/actions/dotgpg_environment.rb
|
794
803
|
- lib/fastlane/actions/download.rb
|
@@ -1013,7 +1022,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1013
1022
|
version: '0'
|
1014
1023
|
requirements: []
|
1015
1024
|
rubyforge_project:
|
1016
|
-
rubygems_version: 2.6.
|
1025
|
+
rubygems_version: 2.6.6
|
1017
1026
|
signing_key:
|
1018
1027
|
specification_version: 4
|
1019
1028
|
summary: The easiest way to automate building and releasing your iOS and Android apps
|