fastlane_core 0.47.0 → 0.48.0

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: a7185fbff80f72401005c7636415172c76d64a6a
4
- data.tar.gz: aa78f033508315cee114f3ad8071452670f951ef
3
+ metadata.gz: b47d400f7d9be30ebcfd2e00d25b5e98eb307a7a
4
+ data.tar.gz: 95fcd3768d5271698c26357a61e2b8690275743c
5
5
  SHA512:
6
- metadata.gz: 28840e3cc161f4e899de2b9991d8941448416ddb9489c27c969ac19abe1b64983c5b9d8bfdcbaba80581bedd76e36d02d01d954d86a07c01b1e383295342bc84
7
- data.tar.gz: 68e1e5731ca4cb268fcaaff18db650d61f239bf8b11ca07f4d4c6b8f4aa0fb86afc16fe9a525d65f6cdf2cce35a445098c308f236f43164529e1e8d60e096503
6
+ metadata.gz: a631d21250a522b6d94bbd464c4f7e05d8754111cb8a632a046f7fb94c9df608f7f2d22bd4e03d1752bae222c3692f0b15c0de2a944fd77703826b2ed7c44e88
7
+ data.tar.gz: a9cf5f87090e72912df1d5000746ff5674576274fbb44e0a401daa66df1eb87e191f0937451e8832f9461c8abe9cbd8fe3bd8adab42de5266e69fd2c468f0697
@@ -4,6 +4,8 @@ require 'json'
4
4
  require 'fastlane_core/core_ext/string'
5
5
 
6
6
  require 'fastlane_core/version'
7
+ require 'fastlane_core/feature/feature'
8
+ require 'fastlane_core/features'
7
9
  require 'fastlane_core/helper'
8
10
  require 'fastlane_core/xcodebuild_list_output_parser'
9
11
  require 'fastlane_core/configuration/configuration'
@@ -0,0 +1,50 @@
1
+ module FastlaneCore
2
+ class Feature
3
+ class << self
4
+ attr_reader :features
5
+
6
+ def register(env_var: nil, description: nil)
7
+ feature = self.new(description: description, env_var: env_var)
8
+ @features[feature.env_var] = feature
9
+ end
10
+
11
+ def enabled?(env_var)
12
+ feature = @features[env_var]
13
+ return false if feature.nil?
14
+ return false if ENV[feature.env_var] == '0' # '0' is a non-falsey value that should indicate feature switch disabled
15
+ return ENV[feature.env_var] # rely on the truthiness of the value set in the environment variable
16
+ end
17
+
18
+ def register_class_method(klass: nil, symbol: nil, disabled_symbol: nil, enabled_symbol: nil, env_var: nil)
19
+ return if klass.nil? || symbol.nil? || disabled_symbol.nil? || enabled_symbol.nil? || env_var.nil?
20
+ klass.define_singleton_method(symbol) do |*args|
21
+ if Feature.enabled?(env_var)
22
+ klass.send(enabled_symbol, *args)
23
+ else
24
+ klass.send(disabled_symbol, *args)
25
+ end
26
+ end
27
+ end
28
+
29
+ def register_instance_method(klass: nil, symbol: nil, disabled_symbol: nil, enabled_symbol: nil, env_var: nil)
30
+ return if klass.nil? || symbol.nil? || disabled_symbol.nil? || enabled_symbol.nil? || env_var.nil?
31
+ klass.send(:define_method, symbol.to_s) do |*args|
32
+ if Feature.enabled?(env_var)
33
+ send(enabled_symbol, *args)
34
+ else
35
+ send(disabled_symbol, *args)
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ @features = {}
42
+
43
+ attr_reader :env_var, :description
44
+ def initialize(env_var: nil, description: nil)
45
+ raise "Invalid Feature" if env_var.nil? || description.nil?
46
+ @env_var = env_var
47
+ @description = description
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,2 @@
1
+ FastlaneCore::Feature.register(env_var: 'FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT',
2
+ description: 'Use iTunes Transporter shell script')
@@ -284,7 +284,7 @@ module FastlaneCore
284
284
  # Xcode 6.x doesn't have the same iTMSTransporter Java setup as later Xcode versions, so
285
285
  # we can't default to using the better direct Java invocation strategy for those versions.
286
286
  use_shell_script ||= Helper.is_mac? && Helper.xcode_version.start_with?('6.')
287
- use_shell_script ||= !ENV['FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT'].nil?
287
+ use_shell_script ||= Feature.enabled?('FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT')
288
288
 
289
289
  # First, see if we have an application specific password
290
290
  data = CredentialsManager::AccountManager.new(user: user,
@@ -300,7 +300,6 @@ module FastlaneCore
300
300
  @user = data.user
301
301
  @password ||= data.password
302
302
  end
303
-
304
303
  @transporter_executor = use_shell_script ? ShellScriptTransporterExecutor.new : JavaTransporterExecutor.new
305
304
  @provider_short_name = provider_short_name
306
305
  end
@@ -1,3 +1,3 @@
1
1
  module FastlaneCore
2
- VERSION = "0.47.0".freeze
2
+ VERSION = "0.48.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.47.0
4
+ version: 0.48.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: 2016-06-20 00:00:00.000000000 Z
11
+ date: 2016-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -154,16 +154,22 @@ dependencies:
154
154
  name: gh_inspector
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: 1.0.1
160
+ - - "<"
158
161
  - !ruby/object:Gem::Version
159
- version: '1.0'
162
+ version: 2.0.0
160
163
  type: :runtime
161
164
  prerelease: false
162
165
  version_requirements: !ruby/object:Gem::Requirement
163
166
  requirements:
164
- - - "~>"
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: 1.0.1
170
+ - - "<"
165
171
  - !ruby/object:Gem::Version
166
- version: '1.0'
172
+ version: 2.0.0
167
173
  - !ruby/object:Gem::Dependency
168
174
  name: credentials_manager
169
175
  requirement: !ruby/object:Gem::Requirement
@@ -357,6 +363,8 @@ files:
357
363
  - lib/fastlane_core/configuration/configuration_file.rb
358
364
  - lib/fastlane_core/core_ext/string.rb
359
365
  - lib/fastlane_core/device_manager.rb
366
+ - lib/fastlane_core/feature/feature.rb
367
+ - lib/fastlane_core/features.rb
360
368
  - lib/fastlane_core/helper.rb
361
369
  - lib/fastlane_core/ipa_file_analyser.rb
362
370
  - lib/fastlane_core/ipa_upload_package_builder.rb
@@ -400,7 +408,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
400
408
  version: '0'
401
409
  requirements: []
402
410
  rubyforge_project:
403
- rubygems_version: 2.4.0
411
+ rubygems_version: 2.5.1
404
412
  signing_key:
405
413
  specification_version: 4
406
414
  summary: Contains all shared code/dependencies of the fastlane.tools