fastlane 1.93.0 → 1.93.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fastlane/actions/testfairy.rb +102 -8
- data/lib/fastlane/plugins/plugin_info_collector.rb +9 -7
- data/lib/fastlane/plugins/plugin_manager.rb +4 -0
- data/lib/fastlane/plugins/template/Gemfile +3 -0
- data/lib/fastlane/plugins/template/README.md.erb +7 -1
- data/lib/fastlane/plugins/template/fastlane/Fastfile.erb +3 -0
- data/lib/fastlane/plugins/template/fastlane/Pluginfile.erb +1 -0
- data/lib/fastlane/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f529d44c22aea551180b256d485602bff8323353
|
4
|
+
data.tar.gz: 451aec0a7f0b6fd7ddf646138aaea875817c79a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 978beafb78bcd70b79de67fd1fdb3d92bcbaf2c836ee932a8906c3770bfd3538bc9cd9babdd25845ec81843fd16395d030e3afa735e331064df091dcf4316c4b
|
7
|
+
data.tar.gz: b7548ce563a660f17737e00255ceac5b1a2e8c6ebbb0be0bec32171b80836aff781048d8db64fbb98e3fb21cb9cd7df26bdc139f7835973168e0a080b69612d5
|
@@ -17,8 +17,58 @@ module Fastlane
|
|
17
17
|
|
18
18
|
return params[:ipa] if Helper.test?
|
19
19
|
|
20
|
-
|
21
|
-
|
20
|
+
metrics_to_client = lambda do |metrics|
|
21
|
+
metrics.map do |metric|
|
22
|
+
case metric
|
23
|
+
when :cpu, :memory, :network, :gps, :battery, :mic, :wifi
|
24
|
+
metric.to_s
|
25
|
+
when :phone_signal
|
26
|
+
'phone-signal'
|
27
|
+
else
|
28
|
+
UI.user_error!("Unknown metric: #{metric}")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
options_to_client = lambda do |options|
|
34
|
+
options.map do |option|
|
35
|
+
case option
|
36
|
+
when :shake, :anonymous
|
37
|
+
option.to_s
|
38
|
+
when :video_only_wifi
|
39
|
+
'video-only-wifi'
|
40
|
+
else
|
41
|
+
UI.user_error!("Unknown option: #{option}")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
client_options = Hash[params.values.map do |key, value|
|
47
|
+
case key
|
48
|
+
when :api_key
|
49
|
+
[key, value]
|
50
|
+
when :ipa
|
51
|
+
[key, value]
|
52
|
+
when :symbols_file
|
53
|
+
[key, value]
|
54
|
+
when :testers_groups
|
55
|
+
[key, value.join(',')]
|
56
|
+
when :metrics
|
57
|
+
[key, metrics_to_client.call(value).join(',')]
|
58
|
+
when :icon_watermark
|
59
|
+
['icon-watermark', value]
|
60
|
+
when :comment
|
61
|
+
[key, value]
|
62
|
+
when :auto_update
|
63
|
+
['auto-update', value]
|
64
|
+
when :notify
|
65
|
+
[key, value]
|
66
|
+
when :options
|
67
|
+
[key, options_to_client.call(value).join(',')]
|
68
|
+
else
|
69
|
+
UI.user_error!("Unknown parameter: #{key}")
|
70
|
+
end
|
71
|
+
end]
|
22
72
|
|
23
73
|
response = client.upload_build(params[:ipa], client_options)
|
24
74
|
if parse_response(response)
|
@@ -54,6 +104,7 @@ module Fastlane
|
|
54
104
|
|
55
105
|
def self.available_options
|
56
106
|
[
|
107
|
+
# required
|
57
108
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
58
109
|
env_name: "FL_TESTFAIRY_API_KEY", # The name of the environment variable
|
59
110
|
description: "API Key for TestFairy", # a short description of this parameter
|
@@ -67,16 +118,59 @@ module Fastlane
|
|
67
118
|
verify_block: proc do |value|
|
68
119
|
UI.user_error!("Couldn't find ipa file at path '#{value}'") unless File.exist?(value)
|
69
120
|
end),
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
121
|
+
# optional
|
122
|
+
FastlaneCore::ConfigItem.new(key: :symbols_file,
|
123
|
+
optional: true,
|
124
|
+
env_name: "FL_TESTFAIRY_SYMBOLS_FILE",
|
125
|
+
description: "Symbols mapping file",
|
126
|
+
default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH],
|
127
|
+
verify_block: proc do |value|
|
128
|
+
UI.user_error!("Couldn't find dSYM file at path '#{value}'") unless File.exist?(value)
|
129
|
+
end),
|
74
130
|
FastlaneCore::ConfigItem.new(key: :testers_groups,
|
131
|
+
optional: true,
|
75
132
|
type: Array,
|
76
133
|
short_option: '-g',
|
77
134
|
env_name: "FL_TESTFAIRY_TESTERS_GROUPS",
|
78
135
|
description: "Array of tester groups to be notified",
|
79
|
-
default_value: []) # the default value is an empty list
|
136
|
+
default_value: []), # the default value is an empty list
|
137
|
+
FastlaneCore::ConfigItem.new(key: :metrics,
|
138
|
+
optional: true,
|
139
|
+
type: Array,
|
140
|
+
env_name: "FL_TESTFAIRY_METRICS",
|
141
|
+
description: "Array of metrics to record (cpu,memory,network,phone_signal,gps,battery,mic,wifi)",
|
142
|
+
default_value: []),
|
143
|
+
# max-duration
|
144
|
+
# video
|
145
|
+
# video-quality
|
146
|
+
# video-rate
|
147
|
+
FastlaneCore::ConfigItem.new(key: :icon_watermark,
|
148
|
+
optional: true,
|
149
|
+
env_name: "FL_TESTFAIRY_ICON_WATERMARK",
|
150
|
+
description: "Add a small watermark to app icon",
|
151
|
+
default_value: 'off'),
|
152
|
+
FastlaneCore::ConfigItem.new(key: :comment,
|
153
|
+
optional: true,
|
154
|
+
env_name: "FL_TESTFAIRY_COMMENT",
|
155
|
+
description: "Additional release notes for this upload. This text will be added to email notifications",
|
156
|
+
default_value: 'No comment provided'), # the default value if the user didn't provide one
|
157
|
+
FastlaneCore::ConfigItem.new(key: :auto_update,
|
158
|
+
optional: true,
|
159
|
+
env_name: "FL_TESTFAIRY_AUTO_UPDATE",
|
160
|
+
description: "Allows easy upgrade of all users to current version",
|
161
|
+
default_value: 'off'),
|
162
|
+
# not well documented
|
163
|
+
FastlaneCore::ConfigItem.new(key: :notify,
|
164
|
+
optional: true,
|
165
|
+
env_name: "FL_TESTFAIRY_NOTIFY",
|
166
|
+
description: "Send email to testers",
|
167
|
+
default_value: 'off'),
|
168
|
+
FastlaneCore::ConfigItem.new(key: :options,
|
169
|
+
optional: true,
|
170
|
+
type: Array,
|
171
|
+
env_name: "FL_TESTFAIRY_OPTIONS",
|
172
|
+
description: "Array of options (shake,video_only_wifi,anonymous)",
|
173
|
+
default_value: [])
|
80
174
|
]
|
81
175
|
end
|
82
176
|
|
@@ -87,7 +181,7 @@ module Fastlane
|
|
87
181
|
end
|
88
182
|
|
89
183
|
def self.authors
|
90
|
-
["taka0125"]
|
184
|
+
["taka0125", "tcurdt"]
|
91
185
|
end
|
92
186
|
|
93
187
|
def self.is_supported?(platform)
|
@@ -37,9 +37,11 @@ module Fastlane
|
|
37
37
|
|
38
38
|
break if plugin_name_valid?(plugin_name)
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
|
40
|
+
gem_name = PluginManager.to_gem_name(plugin_name)
|
41
|
+
|
42
|
+
if gem_name_taken?(gem_name)
|
43
|
+
# Gem name is already taken on RubyGems
|
44
|
+
@ui.message("\nThe gem name '#{gem_name}' is already taken on RubyGems, please choose a different plugin name.")
|
43
45
|
else
|
44
46
|
# That's a naming error
|
45
47
|
@ui.message("\nPlugin names can only contain lower case letters, numbers, and underscores")
|
@@ -56,12 +58,12 @@ module Fastlane
|
|
56
58
|
# Does not contain the words 'fastlane' or 'plugin' since those will become
|
57
59
|
# part of the gem name
|
58
60
|
[/fastlane/, /plugin/].none? { |regex| regex =~ name } &&
|
59
|
-
#
|
60
|
-
!
|
61
|
+
# Gem name isn't taken on RubyGems yet
|
62
|
+
!gem_name_taken?(PluginManager.to_gem_name(name))
|
61
63
|
end
|
62
64
|
|
63
|
-
# Checks if the
|
64
|
-
def
|
65
|
+
# Checks if the gem name is still free on RubyGems
|
66
|
+
def gem_name_taken?(name)
|
65
67
|
require 'open-uri'
|
66
68
|
require 'json'
|
67
69
|
url = "https://rubygems.org/api/v1/gems/#{name}.json"
|
@@ -45,6 +45,10 @@ module Fastlane
|
|
45
45
|
FASTLANE_PLUGIN_PREFIX
|
46
46
|
end
|
47
47
|
|
48
|
+
def self.to_gem_name(plugin_name)
|
49
|
+
plugin_name.start_with?(plugin_prefix) ? plugin_name : (plugin_prefix + plugin_name)
|
50
|
+
end
|
51
|
+
|
48
52
|
# Returns an array of gems that are added to the Gemfile or Pluginfile
|
49
53
|
def available_gems
|
50
54
|
return [] unless gemfile_path
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# <%= gem_name %> `fastlane` Plugin
|
2
2
|
|
3
|
-
[![fastlane Plugin Badge](https://
|
3
|
+
[![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/<%= gem_name %>)
|
4
4
|
|
5
5
|
## Getting Started
|
6
6
|
|
@@ -14,6 +14,12 @@ fastlane add_plugin <%= plugin_name %>
|
|
14
14
|
|
15
15
|
<%= summary %>
|
16
16
|
|
17
|
+
## Example
|
18
|
+
|
19
|
+
Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
|
20
|
+
|
21
|
+
**Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary)
|
22
|
+
|
17
23
|
## Issues and Feedback
|
18
24
|
|
19
25
|
For any other issues and feedback about this plugin, please submit it to this repository.
|
@@ -0,0 +1 @@
|
|
1
|
+
# Autogenerated by fastlane
|
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.93.
|
4
|
+
version: 1.93.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: krausefx-shenzhen
|
@@ -910,6 +910,8 @@ files:
|
|
910
910
|
- lib/fastlane/plugins/template/LICENSE.erb
|
911
911
|
- lib/fastlane/plugins/template/README.md.erb
|
912
912
|
- lib/fastlane/plugins/template/Rakefile
|
913
|
+
- lib/fastlane/plugins/template/fastlane/Fastfile.erb
|
914
|
+
- lib/fastlane/plugins/template/fastlane/Pluginfile.erb
|
913
915
|
- lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%.rb.erb
|
914
916
|
- lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb
|
915
917
|
- lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb
|
@@ -943,7 +945,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
943
945
|
version: '0'
|
944
946
|
requirements: []
|
945
947
|
rubyforge_project:
|
946
|
-
rubygems_version: 2.4.
|
948
|
+
rubygems_version: 2.4.8
|
947
949
|
signing_key:
|
948
950
|
specification_version: 4
|
949
951
|
summary: The easiest way to automate building and releasing your iOS and Android apps
|