autobuild 1.4.1 → 1.4.2
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.
- data/Changes.txt +10 -0
- data/README.txt +4 -3
- data/lib/autobuild.rb +1 -1
- data/lib/autobuild/import/svn.rb +2 -2
- data/lib/autobuild/package.rb +4 -0
- data/lib/autobuild/packages/cmake.rb +27 -0
- data/lib/autobuild/packages/orogen.rb +7 -6
- metadata +3 -3
data/Changes.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
== Version 1.4.2
|
2
|
+
* call subversion with the --non-interactive option, otherwise the build will
|
3
|
+
block indefinitely. Note that git "questions" are properly passed to the user.
|
4
|
+
* don't forcefully depend on orogen being available. This fixes bootstrapping
|
5
|
+
situations where both orogen and some orogen modules need to be built.
|
6
|
+
* workaround CMake heavy-caching behaviour. When a reconfiguration is needed,
|
7
|
+
delete the CMakeCache.txt file instead of recalling cmake on top of it. It
|
8
|
+
should fix most of the problems of CMake related to caching of pkg-config
|
9
|
+
files for instance.
|
10
|
+
|
1
11
|
== Version 1.4.0
|
2
12
|
* cmake package handler now displays progress value
|
3
13
|
* added support for parallel builds
|
data/README.txt
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
Copyright (c) 2006-
|
1
|
+
Copyright (c) 2006-2009 Sylvain Joyeux <sylvain.joyeux@m4x.org>
|
2
2
|
|
3
|
-
* http://
|
4
|
-
* http://
|
3
|
+
* http://doudou.github.com/autobuild
|
4
|
+
* http://github.com/doudou/autobuild
|
5
|
+
* http://doudou.github.com/autoproj
|
5
6
|
|
6
7
|
This work is licensed under the GPLv2 license. See License.txt for details
|
7
8
|
|
data/lib/autobuild.rb
CHANGED
data/lib/autobuild/import/svn.rb
CHANGED
@@ -38,12 +38,12 @@ module Autobuild
|
|
38
38
|
if source != @source
|
39
39
|
raise ConfigException, "current checkout found at #{package.srcdir} is from #{source}, was expecting #{@source}"
|
40
40
|
end
|
41
|
-
Subprocess.run(package.name, :import, @program, 'up', *@options_up)
|
41
|
+
Subprocess.run(package.name, :import, @program, 'up', "--non-interactive", *@options_up)
|
42
42
|
}
|
43
43
|
end
|
44
44
|
|
45
45
|
def checkout(package) # :nodoc:
|
46
|
-
options = [ @program, 'co' ] + @options_co + [ @source, package.srcdir ]
|
46
|
+
options = [ @program, 'co', "--non-interactive" ] + @options_co + [ @source, package.srcdir ]
|
47
47
|
Subprocess.run(package.name, :import, *options)
|
48
48
|
end
|
49
49
|
end
|
data/lib/autobuild/package.rb
CHANGED
@@ -286,6 +286,10 @@ module Autobuild
|
|
286
286
|
# if with_provides is true, includes the list
|
287
287
|
# of package aliases
|
288
288
|
def self.each(with_provides = false, &p)
|
289
|
+
if !p
|
290
|
+
return enum_for(:each, with_provides)
|
291
|
+
end
|
292
|
+
|
289
293
|
@@packages.each(&p)
|
290
294
|
@@provides.each(&p) if with_provides
|
291
295
|
end
|
@@ -13,12 +13,36 @@ module Autobuild
|
|
13
13
|
raise ConfigException, "builddir must be non-nil and non-empty" if (new.nil? || new.empty?)
|
14
14
|
@builddir = new
|
15
15
|
end
|
16
|
+
|
17
|
+
attr_writer :full_reconfigures
|
18
|
+
def full_reconfigures?
|
19
|
+
@full_reconfigures
|
20
|
+
end
|
16
21
|
end
|
22
|
+
@full_reconfigures = true
|
17
23
|
|
18
24
|
# a key => value association of defines for CMake
|
19
25
|
attr_reader :defines
|
20
26
|
# If true, always run cmake before make during the build
|
21
27
|
attr_accessor :always_reconfigure
|
28
|
+
# If true, we always remove the CMake cache before reconfiguring.
|
29
|
+
#
|
30
|
+
# See #full_reconfigures? for more details
|
31
|
+
attr_writer :full_reconfigures
|
32
|
+
|
33
|
+
# If true, we always remove the CMake cache before reconfiguring. This
|
34
|
+
# is to workaround the aggressive caching behaviour of CMake, and is set
|
35
|
+
# to true by default.
|
36
|
+
#
|
37
|
+
# See CMake.full_reconfigures? and CMake.full_reconfigures= for a global
|
38
|
+
# setting
|
39
|
+
def full_reconfigures?
|
40
|
+
if @full_reconfigures.nil?
|
41
|
+
CMake.full_reconfigures?
|
42
|
+
else
|
43
|
+
@full_reconfigures
|
44
|
+
end
|
45
|
+
end
|
22
46
|
|
23
47
|
def configurestamp; File.join(builddir, "CMakeCache.txt") end
|
24
48
|
|
@@ -126,6 +150,9 @@ module Autobuild
|
|
126
150
|
command << srcdir
|
127
151
|
|
128
152
|
Autobuild.progress "generating and configuring build system for #{name}"
|
153
|
+
if full_reconfigures?
|
154
|
+
FileUtils.rm_f configurestamp
|
155
|
+
end
|
129
156
|
Subprocess.run(name, 'configure', *command)
|
130
157
|
super
|
131
158
|
end
|
@@ -208,13 +208,14 @@ module Autobuild
|
|
208
208
|
|
209
209
|
# Find out where orogen is, and make sure the configurestamp depend
|
210
210
|
# on it. Ignore if orogen is too old to have a --base-dir option
|
211
|
-
orogen_root = `orogen --base-dir
|
212
|
-
if orogen_root.empty?
|
213
|
-
|
211
|
+
orogen_root = `orogen --base-dir 2>&1`
|
212
|
+
if !orogen_root.empty?
|
213
|
+
orogen_root = orogen_root.split[0].chomp
|
214
|
+
if File.directory?(orogen_root)
|
215
|
+
orogen_root = File.join(orogen_root, 'orogen')
|
216
|
+
file genstamp => Autobuild.source_tree(orogen_root)
|
217
|
+
end
|
214
218
|
end
|
215
|
-
orogen_root = File.join(orogen_root, 'orogen')
|
216
|
-
file genstamp => Autobuild.source_tree(orogen_root)
|
217
|
-
|
218
219
|
file configurestamp => genstamp
|
219
220
|
file genstamp => File.join(srcdir, orogen_file) do
|
220
221
|
regen
|
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.4.
|
4
|
+
version: 1.4.2
|
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-
|
12
|
+
date: 2009-11-24 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -130,7 +130,7 @@ files:
|
|
130
130
|
- test/test_subcommand.rb
|
131
131
|
- test/tools.rb
|
132
132
|
has_rdoc: true
|
133
|
-
homepage: http://
|
133
|
+
homepage: http://github.com/doudou/autobuild
|
134
134
|
licenses: []
|
135
135
|
|
136
136
|
post_install_message:
|