fastlane_core 0.32.0 → 0.32.1

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