autoproj 1.7.17 → 1.7.18

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,6 @@
1
+ = Version 1.7.18
2
+ * properly detect and report circular dependencies
3
+
1
4
  = Version 1.7.17
2
5
  * fix some return values in PackageManifest as REXML#text returns nil if no
3
6
  text element is present while nokogiri was returning an empty string
@@ -528,7 +528,7 @@ module Autoproj
528
528
  selected_packages
529
529
  end
530
530
 
531
- def self.verify_package_availability(pkg_name)
531
+ def self.verify_package_availability(pkg_name, stack = Array.new)
532
532
  if reason = Autoproj.manifest.exclusion_reason(pkg_name)
533
533
  raise ConfigError.new, "#{pkg_name} is excluded from the build: #{reason}"
534
534
  end
@@ -536,13 +536,18 @@ module Autoproj
536
536
  if !pkg
537
537
  raise ConfigError.new, "#{pkg_name} does not seem to exist"
538
538
  end
539
+ stack << pkg_name
539
540
 
540
541
  # Verify that its dependencies are there, and add
541
542
  # them to the selected_packages set so that they get
542
543
  # imported as well
543
544
  pkg.dependencies.each do |dep_name|
545
+ if stack.include?(dep_name)
546
+ raise ConfigError.new, "circular dependency #{pkg.name} => #{dep_name}"
547
+ end
548
+
544
549
  begin
545
- verify_package_availability(dep_name)
550
+ verify_package_availability(dep_name, stack.dup)
546
551
  rescue ConfigError => e
547
552
  raise e, "#{pkg_name} depends on #{dep_name}, but #{e.message}"
548
553
  end
@@ -914,6 +914,10 @@ module Autoproj
914
914
  @user_blocks = []
915
915
  end
916
916
 
917
+ def name
918
+ autobuild.name
919
+ end
920
+
917
921
  def add_setup_block(block)
918
922
  user_blocks << block
919
923
  if setup?
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "1.7.17"
2
+ VERSION = "1.7.18"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoproj
3
3
  version: !ruby/object:Gem::Version
4
- hash: 41
4
+ hash: 47
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 7
9
- - 17
10
- version: 1.7.17
9
+ - 18
10
+ version: 1.7.18
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sylvain Joyeux
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-18 00:00:00 Z
18
+ date: 2012-02-09 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: autobuild
@@ -195,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  requirements: []
196
196
 
197
197
  rubyforge_project: autobuild
198
- rubygems_version: 1.8.12
198
+ rubygems_version: 1.8.15
199
199
  signing_key:
200
200
  specification_version: 3
201
201
  summary: Easy installation and management of software packages