fastlane_core 0.47.0 → 0.48.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 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