autobuild 1.5.60 → 1.5.61

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,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