autobuild 1.3.2 → 1.3.3

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.
@@ -1,3 +1,9 @@
1
+ == Version 1.3.3
2
+ * fix: changing Orogen.corba now affects packages that have already been
3
+ declared but for which the #corba attribute has not been set explicitely to
4
+ true or false.
5
+ * fix issues with the parsing of codel requirement in the genom package handler
6
+
1
7
  == Version 1.3.2
2
8
  * fix stupid issues with the genom package
3
9
  * import caller's environment instead of erasing it.
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.3.2" unless defined? Autobuild::VERSION
2
+ VERSION = "1.3.3" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
  require 'autobuild/config'
@@ -43,18 +43,31 @@ module Autobuild
43
43
  def get_requires
44
44
  apionly = genomflags.find { |f| f == '-a' }
45
45
  cpp = Autobuild.tool(:cpp)
46
+ currentBuffer = nil
46
47
  Open3.popen3("#{cpp} #{cpp_options.join(" ")} #{srcdir}/#{name}.gen") do |cin, out, err|
47
- out.each_line { |line|
48
- if line =~ /^\s*(codels_)?requires\s*:\s*([\w\-]+(?:\s*,\s*[\w\-]+)*);/
49
- # Remove the codels_requires lines if -a is given to genom
50
- unless $1 == "codels_" && apionly
51
- $2.split(/,/).each { |name| depends_on name.strip }
52
- end
53
- elsif line =~ /^\s*(?:codels_)?requires/
54
- # Check that the regexp is not too strict
55
- STDERR.puts "failed to match #{line}"
48
+ out.each_line do |line|
49
+ if line =~ /^\s*(codels_)?requires\s*:.*,$/
50
+ currentBuffer = line
51
+ elsif currentBuffer
52
+ currentBuffer += line
53
+ if currentBuffer =~ /^\s*(codels_)?requires\s*:\s*(\"?\s*[\w\-=><0-9.\s]+\s*\"?(?:\s*,\s*\"?\s*[\w\-=><0-9.\s]+\s*\"?)*);/
54
+ # Remove the codels_requires lines if -a is given to genom
55
+ unless $1 == "codels_" && apionly
56
+ $2.split(/,/).each do |name|
57
+ if name.strip =~ /\s*\"?\s*([\w\-]+)\s*[<=>]+\s*[0-9.]+\s*\"?\s*/
58
+ depends_on $1
59
+ else
60
+ depends_on name.strip
61
+ end
62
+ end
63
+ end
64
+ currentBuffer = nil
65
+ elsif currentBuffer =~ /^\s*(?:codels_)?requires.*;$/
66
+ # Check that the regexp is not too strict
67
+ STDERR.puts "failed to match #{currentBuffer}"
68
+ end
56
69
  end
57
- }
70
+ end
58
71
  end
59
72
  end
60
73
 
@@ -138,7 +138,10 @@ module Autobuild
138
138
 
139
139
  attr_reader :orogen_spec
140
140
 
141
- attr_accessor :corba
141
+ attr_writer :corba
142
+ def corba
143
+ @corba || (@corba.nil? && Orogen.corba)
144
+ end
142
145
 
143
146
  attr_accessor :orogen_file
144
147
  def initialize(*args, &config)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autobuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-16 00:00:00 +02:00
12
+ date: 2009-10-20 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency