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

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: 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