autobuild 1.10.0.rc5 → 1.10.0.rc6

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: b1c06167f06497b4020c6ffce89ee69dd72e4750
4
- data.tar.gz: b718b386c30704197b1b9ae6a3b3fcb22460da2c
3
+ metadata.gz: 847879d0a9358e23c67213792adcf107c22ac905
4
+ data.tar.gz: faf239f772607f3a7d95ce23c7ace8f9c85a741c
5
5
  SHA512:
6
- metadata.gz: 2580aff6b12ffb0ab7398ecf6cc2af1064f088dfc32cfe7bac301773a85c217064ae38bdc483baf8257eb43588e79e72bfd56915947d017ac1c16744267561cd
7
- data.tar.gz: cfcbe1c31e7f417e94c9aaeb6a05152abf0788adb7d6a5abd4d4f06d5f16476b585c805d371101eaea855546a3e4a640f655a0f114d9e516672e1e914570254d
6
+ metadata.gz: d5d197ecf8a24f1409a0567ebfbf65ef89cbbf638922eb6fddd611c1fe1ab3f09a16446786c3474a7242e1e122940f05c6522225d3fadfb075d4ac446d0b0aeb
7
+ data.tar.gz: 1089a0b99f8daa3d05baf5f661db41b41d6bf5d9863f4c0c36ae6d6505eb84e00b9a2108ff30ef247ff87d30d69173f69398cd19b56e29158af17a4acddb1502
@@ -4,8 +4,11 @@
4
4
  include Rake::DSL
5
5
  end
6
6
 
7
+ require 'utilrb/logger'
8
+
7
9
  module Autobuild
8
10
  LIB_DIR = File.expand_path(File.dirname(__FILE__))
11
+ extend Logger::Root('Autobuild', Logger::INFO)
9
12
  end
10
13
 
11
14
  require 'net/smtp'
@@ -565,8 +565,8 @@ def update_environment(newprefix, includes = nil)
565
565
 
566
566
  # Returns the system-wide search path that is embedded in pkg-config
567
567
  def default_pkgconfig_search_suffixes
568
- found_path_rx = /Scanning directory '(.*\/)((?:lib|lib64|share)\/.*)'$/
569
- nonexistent_path_rx = /Cannot open directory '.*\/((?:lib|lib64|share)\/.*)' in package search path:.*/
568
+ found_path_rx = /Scanning directory (?:#\d+ )?'(.*\/)((?:lib|lib64|share)\/.*)'$/
569
+ nonexistent_path_rx = /Cannot open directory (?:#\d+ )?'.*\/((?:lib|lib64|share)\/.*)' in package search path:.*/
570
570
 
571
571
  if !@default_pkgconfig_search_suffixes
572
572
  output = `LANG=C PKG_CONFIG_PATH= #{Autobuild.tool("pkg-config")} --debug 2>&1`.split("\n")
@@ -223,12 +223,12 @@ def invoke_parallel(required_tasks)
223
223
 
224
224
  not_processed = tasks.find_all { |t| !t.already_invoked? }
225
225
  if !not_processed.empty?
226
- cycle = resolve_cycle(not_processed)
226
+ cycle = resolve_cycle(tasks, not_processed, reverse_dependencies)
227
227
  raise "cycle in task graph: #{cycle.map(&:name).sort.join(", ")}"
228
228
  end
229
229
  end
230
230
 
231
- def resolve_cycle(tasks)
231
+ def resolve_cycle(all_tasks, tasks, reverse_dependencies)
232
232
  cycle = tasks.dup
233
233
  chain = []
234
234
  next_task = tasks.first
@@ -245,7 +245,23 @@ def resolve_cycle(tasks)
245
245
  end
246
246
  end
247
247
  if !next_task
248
- raise "something fishy while resolving a cycle in #{cycle.map(&:name).join(", ")}. Some of these packages might have added new dependencies during the task resolution, which is forbidden"
248
+ Autobuild.fatal "parallel processing stopped prematurely, but no cycle is present in the remaining tasks"
249
+ Autobuild.fatal "remaining tasks: #{cycle.map(&:name).join(", ")}"
250
+ Autobuild.fatal "known dependencies at initialization time that could block the processing of the remaining tasks"
251
+ reverse_dependencies.each do |task, parents|
252
+ if cycle.include?(task)
253
+ parents.each do |p|
254
+ Autobuild.fatal " #{p}: #{task}"
255
+ end
256
+ end
257
+ end
258
+ Autobuild.fatal "known dependencies right now that could block the processing of the remaining tasks"
259
+ all_tasks.each do |p|
260
+ (cycle & p.prerequisite_tasks).each do |t|
261
+ Autobuild.fatal " #{p}: #{t}"
262
+ end
263
+ end
264
+ raise "failed to resolve cycle in #{cycle.map(&:name).join(", ")}"
249
265
  end
250
266
  end
251
267
  chain
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.10.0.rc5" unless defined? Autobuild::VERSION
2
+ VERSION = "1.10.0.rc6" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autobuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0.rc5
4
+ version: 1.10.0.rc6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-12 00:00:00.000000000 Z
11
+ date: 2016-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake