autobuild 1.5.60 → 1.5.61

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ == Version 1.5.61
2
+ * orogen: fix regeneration logic. Autobuild would not generate an oroGen project
3
+ if a type definition file contained in the orogen package changed.
4
+
1
5
  == Version 1.5.60
2
6
  * patching: fix some more issues regarding the interaction of patching and VCS:
3
7
  * autobuild will now properly remove patches before we try to update
@@ -222,8 +222,20 @@ module Autobuild
222
222
  # Cache the orogen file name
223
223
  @orogen_file ||= self.orogen_file
224
224
 
225
- file genstamp => File.join(srcdir, orogen_file) do
226
- isolate_errors { regen }
225
+ file genstamp => Autobuild.source_tree(srcdir) do
226
+ needs_regen = true
227
+ if File.file?(genstamp)
228
+ genstamp_mtime = File.stat(genstamp).mtime
229
+ dependency_updated = dependencies.any? do |dep|
230
+ !File.file?(Package[dep].installstamp) ||
231
+ File.stat(Package[dep].installstamp).mtime > genstamp_mtime
232
+ end
233
+ needs_regen = dependency_updated || !generation_uptodate?
234
+ end
235
+
236
+ if needs_regen
237
+ isolate_errors { regen }
238
+ end
227
239
  end
228
240
 
229
241
  with_doc
@@ -315,14 +327,7 @@ module Autobuild
315
327
 
316
328
  # Then, if it has already been built, check what the check-uptodate
317
329
  # target says
318
- needs_regen ||=
319
- if File.directory?(builddir)
320
- Dir.chdir(builddir) do
321
- !system("#{Autobuild.tool('make')} check-uptodate > /dev/null 2>&1")
322
- end
323
- else
324
- true
325
- end
330
+ needs_regen ||= !generation_uptodate?
326
331
 
327
332
  # Finally, verify that orogen itself did not change
328
333
  needs_regen ||= (Rake::Task[Orogen.orogen_root].timestamp > Rake::Task[genstamp].timestamp)
@@ -340,6 +345,18 @@ module Autobuild
340
345
  Autobuild.touch_stamp genstamp
341
346
  end
342
347
  end
348
+
349
+ def generation_uptodate?
350
+ if !File.file?(genstamp)
351
+ true
352
+ elsif File.file?(File.join(builddir, 'Makefile'))
353
+ Dir.chdir(builddir) do
354
+ system("#{Autobuild.tool('make')} check-uptodate > /dev/null 2>&1")
355
+ end
356
+ else
357
+ true
358
+ end
359
+ end
343
360
  end
344
361
  end
345
362
 
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.5.60" unless defined? Autobuild::VERSION
2
+ VERSION = "1.5.61" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autobuild
3
3
  version: !ruby/object:Gem::Version
4
- hash: 123
4
+ hash: 121
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 5
9
- - 60
10
- version: 1.5.60
9
+ - 61
10
+ version: 1.5.61
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-28 00:00:00 Z
18
+ date: 2012-02-15 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rake