fastlane 2.86.0.beta.20180310050010 → 2.86.0.beta.20180311050103

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: 367d266272fb392c6fab1bb00b7bea0ad36801f3
4
- data.tar.gz: 6c577dd6582a6d077e0944607fd2cb771e74c514
3
+ metadata.gz: 960fa764acba3c9c3d489f15b09a090d1c57ba11
4
+ data.tar.gz: 18ea43f13576c3d89bad67ea3ced4a5b27c8420c
5
5
  SHA512:
6
- metadata.gz: c9eff83f42df80eb5d67290a39747ff430bc31751c03f48656443f2e811e6b0c100671d013f7ed548ba124a270d27bdd97c9fccd36ead90eb51ed0e4e647a433
7
- data.tar.gz: 05e09ee70cab704b2746070238a06f21c2d24623ebfa444191880c02bb9ec7929c68d0a9eae5593c64a6f7fb1a2855a4174d8263fdf76eea6acb71564cda51d6
6
+ metadata.gz: 13d79fd863d21c2d039aae2626f518339969f1f537b18065f0ff79a4de095290b84e9430f887e75c655a1f7b92f349fd8a66ed04757351586990d89cd8cd434f
7
+ data.tar.gz: 41d86ae2b9c02714000f8ef5c157775be40018acf4bf493e705b7f6fa87c812187505ff851e0687e14b291a339dfa088026c30a640e127840707b4516259000a
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.86.0.beta.20180310050010'.freeze
2
+ VERSION = '2.86.0.beta.20180311050103'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -6,7 +6,6 @@ require_relative 'fastlane_core/env'
6
6
  require_relative 'fastlane_core/feature/feature'
7
7
  require_relative 'fastlane_core/features'
8
8
  require_relative 'fastlane_core/helper'
9
- require_relative 'fastlane_core/xcodebuild_list_output_parser'
10
9
  require_relative 'fastlane_core/configuration/configuration'
11
10
  require_relative 'fastlane_core/update_checker/update_checker'
12
11
  require_relative 'fastlane_core/languages'
@@ -1,5 +1,5 @@
1
- require_relative 'xcodebuild_list_output_parser'
2
1
  require_relative 'helper'
2
+ require 'xcodeproj'
3
3
 
4
4
  module FastlaneCore
5
5
  # Represents an Xcode project
@@ -100,9 +100,27 @@ module FastlaneCore
100
100
  end
101
101
  end
102
102
 
103
+ # returns the Xcodeproj::Workspace or nil if it is a project
104
+ def workspace
105
+ return nil unless workspace?
106
+ @workspace ||= Xcodeproj::Workspace.new_from_xcworkspace(path)
107
+ end
108
+
109
+ # returns the Xcodeproj::Project or nil if it is a workspace
110
+ def project
111
+ return nil if workspace?
112
+ @project ||= Xcodeproj::Project.open(path)
113
+ end
114
+
103
115
  # Get all available schemes in an array
104
116
  def schemes
105
- parsed_info.schemes
117
+ @schemes ||= if workspace?
118
+ workspace.schemes.reject do |k, v|
119
+ v.include?("Pods/Pods.xcodeproj")
120
+ end.keys
121
+ else
122
+ Xcodeproj::Project.schemes(path)
123
+ end
106
124
  end
107
125
 
108
126
  # Let the user select a scheme
@@ -155,7 +173,27 @@ module FastlaneCore
155
173
 
156
174
  # Get all available configurations in an array
157
175
  def configurations
158
- parsed_info.configurations
176
+ @configurations ||= if workspace?
177
+ workspace
178
+ .file_references
179
+ .map(&:path)
180
+ .reject { |p| p.include?("Pods/Pods.xcodeproj") }
181
+ .map do |p|
182
+ # To maintain backwards compatibility, we
183
+ # silently ignore non-existent projects from
184
+ # workspaces.
185
+ begin
186
+ Xcodeproj::Project.open(p).build_configurations
187
+ rescue
188
+ []
189
+ end
190
+ end
191
+ .flatten
192
+ .compact
193
+ .map(&:name)
194
+ else
195
+ project.build_configurations.map(&:name)
196
+ end
159
197
  end
160
198
 
161
199
  # Returns bundle_id and sets the scheme for xcrun
@@ -346,73 +384,6 @@ module FastlaneCore
346
384
  build_settings(key: key, optional: optional)
347
385
  end
348
386
 
349
- def build_xcodebuild_list_command
350
- # Unfortunately since we pass the workspace we also get all the
351
- # schemes generated by CocoaPods
352
- options = xcodebuild_parameters.delete_if { |a| a.to_s.include?("scheme") }
353
- command = "xcodebuild -list #{options.join(' ')}"
354
- command += " 2> /dev/null" if xcodebuild_suppress_stderr
355
- command
356
- end
357
-
358
- def raw_info(silent: false)
359
- # Examples:
360
-
361
- # Standard:
362
- #
363
- # Information about project "Example":
364
- # Targets:
365
- # Example
366
- # ExampleUITests
367
- #
368
- # Build Configurations:
369
- # Debug
370
- # Release
371
- #
372
- # If no build configuration is specified and -scheme is not passed then "Release" is used.
373
- #
374
- # Schemes:
375
- # Example
376
- # ExampleUITests
377
-
378
- # CococaPods
379
- #
380
- # Example.xcworkspace
381
- # Information about workspace "Example":
382
- # Schemes:
383
- # Example
384
- # HexColors
385
- # Pods-Example
386
-
387
- return @raw if @raw
388
-
389
- command = build_xcodebuild_list_command
390
-
391
- # xcode >= 6 might hang here if the user schemes are missing
392
- begin
393
- timeout = FastlaneCore::Project.xcode_list_timeout
394
- retries = FastlaneCore::Project.xcode_list_retries
395
- @raw = FastlaneCore::Project.run_command(command, timeout: timeout, retries: retries, print: !silent)
396
- rescue Timeout::Error
397
- UI.user_error!("xcodebuild -list timed out after #{retries + 1} retries with a base timeout of #{timeout}. You might need to recreate the user schemes." \
398
- " You can override the base timeout value with the environment variable FASTLANE_XCODE_LIST_TIMEOUT")
399
- end
400
-
401
- UI.user_error!("Error parsing xcode file using `#{command}`") if @raw.length == 0
402
-
403
- return @raw
404
- end
405
-
406
- # @internal to module
407
- def self.xcode_list_timeout
408
- (ENV['FASTLANE_XCODE_LIST_TIMEOUT'] || 3).to_i
409
- end
410
-
411
- # @internal to module
412
- def self.xcode_list_retries
413
- (ENV['FASTLANE_XCODE_LIST_RETRIES'] || 3).to_i
414
- end
415
-
416
387
  # @internal to module
417
388
  def self.xcode_build_settings_timeout
418
389
  (ENV['FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT'] || 3).to_i
@@ -497,13 +468,6 @@ module FastlaneCore
497
468
 
498
469
  private
499
470
 
500
- def parsed_info
501
- unless @parsed_info
502
- @parsed_info = FastlaneCore::XcodebuildListOutputParser.new(raw_info(silent: xcodebuild_list_silent))
503
- end
504
- @parsed_info
505
- end
506
-
507
471
  # If scheme not specified, do we want the scheme
508
472
  # matching project name?
509
473
  def automated_scheme_selection?
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: 2.86.0.beta.20180310050010
4
+ version: 2.86.0.beta.20180311050103
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maksym Grebenets
@@ -27,7 +27,7 @@ authors:
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2018-03-10 00:00:00.000000000 Z
30
+ date: 2018-03-11 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -1299,7 +1299,6 @@ files:
1299
1299
  - fastlane_core/lib/fastlane_core/ui/ui.rb
1300
1300
  - fastlane_core/lib/fastlane_core/update_checker/changelog.rb
1301
1301
  - fastlane_core/lib/fastlane_core/update_checker/update_checker.rb
1302
- - fastlane_core/lib/fastlane_core/xcodebuild_list_output_parser.rb
1303
1302
  - frameit/README.md
1304
1303
  - frameit/lib/assets/empty.png
1305
1304
  - frameit/lib/frameit.rb
@@ -1606,24 +1605,24 @@ metadata:
1606
1605
  post_install_message:
1607
1606
  rdoc_options: []
1608
1607
  require_paths:
1609
- - spaceship/lib
1610
- - pem/lib
1611
- - snapshot/lib
1608
+ - gym/lib
1612
1609
  - match/lib
1610
+ - fastlane_core/lib
1611
+ - deliver/lib
1613
1612
  - sigh/lib
1614
- - gym/lib
1613
+ - screengrab/lib
1615
1614
  - supply/lib
1616
- - credentials_manager/lib
1617
- - fastlane/lib
1618
- - produce/lib
1619
- - frameit/lib
1620
1615
  - scan/lib
1621
- - fastlane_core/lib
1622
1616
  - cert/lib
1617
+ - spaceship/lib
1623
1618
  - pilot/lib
1624
- - deliver/lib
1619
+ - snapshot/lib
1620
+ - produce/lib
1625
1621
  - precheck/lib
1626
- - screengrab/lib
1622
+ - fastlane/lib
1623
+ - frameit/lib
1624
+ - pem/lib
1625
+ - credentials_manager/lib
1627
1626
  required_ruby_version: !ruby/object:Gem::Requirement
1628
1627
  requirements:
1629
1628
  - - ">="
@@ -1,28 +0,0 @@
1
- module FastlaneCore
2
- class XcodebuildListOutputParser
3
- attr_reader :configurations
4
- attr_reader :schemes
5
- attr_reader :targets
6
-
7
- def initialize(output)
8
- @configurations = []
9
- @schemes = []
10
- @targets = []
11
- current = nil
12
- output.split("\n").each do |line|
13
- line = line.strip
14
- if line.empty?
15
- current = nil
16
- elsif line == "Targets:"
17
- current = @targets
18
- elsif line == "Schemes:"
19
- current = @schemes
20
- elsif line == "Build Configurations:"
21
- current = @configurations
22
- elsif !current.nil?
23
- current << line
24
- end
25
- end
26
- end
27
- end
28
- end