autobuild 1.4.1 → 1.4.2
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|