fastlane_core 0.32.0 → 0.32.1

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: bc1f200961aa7037ab4a7d53386add926b8f1f3c
4
- data.tar.gz: 34547cfac38a492d9c6f662884b529b659e45940
3
+ metadata.gz: 0f4d931254827f7fd47490f587921cf1c418f2b5
4
+ data.tar.gz: 7a190cfb592c3e434f20ca3ac12403f4b3bd848a
5
5
  SHA512:
6
- metadata.gz: aa615defbe30ed5a611d1396bf03ad1243c6d21d836b4839b40ea23044b3f6836412ddbf92f9987a8a29ed4540479d85233ec961b6c03a5cdb3bbf9e7255640d
7
- data.tar.gz: ccd09159dedaadd8f91421d1e4810a7497d30074e2d414763b92ea21265c4b7cd361fec81dce276c62bb6741afe57e81f29a586bcd9b11fb934a1952bb8fea2b
6
+ metadata.gz: e3e95b7de20c1e6336a4c38b124350218cc5c0f5a0b35a4963eaaca735c2af4eac079ce6670ef8603f86655fe0149faec4f094029f07b74af34b2090fdf6ca3d
7
+ data.tar.gz: a3f4fe5f1d39f3485c60bd6196987ae24187d46bdf7812e8a4712f61483fe59003ffb5b080a3ff32ae52be9f8888d61922c60d6c249e05cda6f1723820545f74
data/lib/fastlane_core.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'json'
2
2
  require 'fastlane_core/version'
3
3
  require 'fastlane_core/helper'
4
+ require 'fastlane_core/xcodebuild_list_output_parser'
4
5
  require 'fastlane_core/configuration/configuration'
5
6
  require 'fastlane_core/update_checker/update_checker'
6
7
  require 'fastlane_core/languages'
@@ -1,4 +1,5 @@
1
1
  require 'zip'
2
+ require 'plist'
2
3
 
3
4
  module FastlaneCore
4
5
  class IpaFileAnalyser
@@ -19,6 +20,7 @@ module FastlaneCore
19
20
  def self.fetch_info_plist_file(path)
20
21
  Zip::File.open(path) do |zipfile|
21
22
  zipfile.each do |file|
23
+ next if file.name.match(%r{\.app/.+\.app/Info.plist$})
22
24
  next unless file.name.include? '.plist' and !['.bundle', '.framework'].any? { |a| file.name.include? a }
23
25
 
24
26
  # We can not be completely sure, that's the correct plist file, so we have to try
@@ -82,21 +82,7 @@ module FastlaneCore
82
82
 
83
83
  # Get all available schemes in an array
84
84
  def schemes
85
- results = []
86
- output = raw_info.split("Schemes:").last.split(":").first
87
-
88
- if raw_info.include?("There are no schemes in workspace") or raw_info.include?("This project contains no schemes")
89
- return results
90
- end
91
-
92
- output.split("\n").each do |current|
93
- current = current.strip
94
-
95
- next if current.length == 0
96
- results << current
97
- end
98
-
99
- results
85
+ parsed_info.schemes
100
86
  end
101
87
 
102
88
  # Let the user select a scheme
@@ -132,23 +118,7 @@ module FastlaneCore
132
118
 
133
119
  # Get all available configurations in an array
134
120
  def configurations
135
- results = []
136
- splitted = raw_info.split("Configurations:")
137
- return [] if splitted.count != 2 # probably a CocoaPods project
138
-
139
- output = splitted.last.split(":").first
140
- output.split("\n").each_with_index do |current, index|
141
- current = current.strip
142
-
143
- if current.length == 0
144
- next if index == 0
145
- break # as we want to break on the empty line
146
- end
147
-
148
- results << current
149
- end
150
-
151
- results
121
+ parsed_info.configurations
152
122
  end
153
123
 
154
124
  def app_name
@@ -252,11 +222,26 @@ module FastlaneCore
252
222
  command = "xcrun xcodebuild -list #{options.join(' ')}"
253
223
  Helper.log.info command.yellow unless silent
254
224
 
255
- @raw = `#{command}`.to_s
225
+ # xcode >= 6 might hang here if the user schemes are missing
226
+ begin
227
+ require 'timeout'
228
+ @raw = Timeout.timeout(10) { `#{command}`.to_s }
229
+ rescue Timeout::Error
230
+ raise "xcodebuild -list timed-out. You might need to recreate the user schemes. See https://github.com/fastlane/gym/issues/143".red
231
+ end
256
232
 
257
233
  raise "Error parsing xcode file using `#{command}`".red if @raw.length == 0
258
234
 
259
235
  return @raw
260
236
  end
237
+
238
+ private
239
+
240
+ def parsed_info
241
+ unless @parsed_info
242
+ @parsed_info = FastlaneCore::XcodebuildListOutputParser.new(raw_info)
243
+ end
244
+ @parsed_info
245
+ end
261
246
  end
262
247
  end
@@ -1,3 +1,3 @@
1
1
  module FastlaneCore
2
- VERSION = "0.32.0"
2
+ VERSION = "0.32.1"
3
3
  end
@@ -0,0 +1,28 @@
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
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.32.0
4
+ version: 0.32.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: 2015-12-31 00:00:00.000000000 Z
11
+ date: 2016-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -310,6 +310,20 @@ dependencies:
310
310
  - - "~>"
311
311
  - !ruby/object:Gem::Version
312
312
  version: '0.34'
313
+ - !ruby/object:Gem::Dependency
314
+ name: danger
315
+ requirement: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - ">="
318
+ - !ruby/object:Gem::Version
319
+ version: 0.1.1
320
+ type: :development
321
+ prerelease: false
322
+ version_requirements: !ruby/object:Gem::Requirement
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ version: 0.1.1
313
327
  description: Contains all shared code/dependencies of the fastlane.tools
314
328
  email:
315
329
  - fastlanecore@krausefx.com
@@ -346,6 +360,7 @@ files:
346
360
  - lib/fastlane_core/update_checker/changelog.rb
347
361
  - lib/fastlane_core/update_checker/update_checker.rb
348
362
  - lib/fastlane_core/version.rb
363
+ - lib/fastlane_core/xcodebuild_list_output_parser.rb
349
364
  homepage: https://fastlane.tools
350
365
  licenses:
351
366
  - MIT