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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3c67117c9fa728e8d4a628cd5ab40a74f615dfd1
4
- data.tar.gz: 1397336e43b8257f610df1af93f04532a8480d18
3
+ metadata.gz: f529d44c22aea551180b256d485602bff8323353
4
+ data.tar.gz: 451aec0a7f0b6fd7ddf646138aaea875817c79a5
5
5
  SHA512:
6
- metadata.gz: c7400de730419a6c95102c79d32c623a267da6e540c2620241e12d645da46648d3433e36a8c344b5e0e49076607c75c0932e107ace0a4bb4dc0607e1d3666805
7
- data.tar.gz: f91ff6eb451eff605418e3dc2416402bb7affc8448df7114ffcf13094e402772b74759d8f04b2e0de6f3e2abdaf21fa0e7e46774ce7bd78942d731df1c845b26
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
- client_options = params.values
21
- client_options[:testers_groups] = params[:testers_groups].join(',')
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
- FastlaneCore::ConfigItem.new(key: :comment,
71
- env_name: "FL_TESTFAIRY_COMMENT",
72
- description: "Additional release notes for this upload. This text will be added to email notifications",
73
- default_value: 'No comment provided'), # the default value if the user didn't provide one
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
- if plugin_name_taken?(plugin_name)
41
- # Plugin name is already taken on RubyGems
42
- @ui.message("\nPlugin name '#{plugin_name}' is already taken on RubyGems, please choose a different one.")
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
- # Plugin name isn't taken on RubyGems yet
60
- !plugin_name_taken?(name)
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 plugin name is still free on RubyGems
64
- def plugin_name_taken?(name)
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,3 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
6
+ eval(File.read(plugins_path), binding) if File.exist?(plugins_path)
@@ -1,6 +1,6 @@
1
1
  # <%= gem_name %> `fastlane` Plugin
2
2
 
3
- [![fastlane Plugin Badge](https://raw.githubusercontent.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/<%= gem_name %>)
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,3 @@
1
+ lane :test do
2
+ <%= plugin_name %>()
3
+ end
@@ -0,0 +1 @@
1
+ # Autogenerated by fastlane
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '1.93.0'.freeze
2
+ VERSION = '1.93.1'.freeze
3
3
  DESCRIPTION = "The easiest way to automate building and releasing your iOS and Android apps"
4
4
  end
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.0
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-01 00:00:00.000000000 Z
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.0
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