autobuild 1.6.2.b11 → 1.6.2.b12
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/lib/autobuild/package.rb +47 -19
- data/lib/autobuild/version.rb +1 -1
- data/test/test_package.rb +21 -0
- metadata +5 -3
data/lib/autobuild/package.rb
CHANGED
|
@@ -101,7 +101,7 @@ module Autobuild
|
|
|
101
101
|
# false.
|
|
102
102
|
def updated?; !!@updated end
|
|
103
103
|
|
|
104
|
-
def initialize(spec)
|
|
104
|
+
def initialize(spec = Hash.new)
|
|
105
105
|
@dependencies = Array.new
|
|
106
106
|
@provides = Array.new
|
|
107
107
|
@parallel_build_level = nil
|
|
@@ -374,27 +374,31 @@ module Autobuild
|
|
|
374
374
|
# In general, specific package types define a meaningful #with_doc
|
|
375
375
|
# method which calls this method internally.
|
|
376
376
|
def doc_task
|
|
377
|
-
task "#{name}-doc" do
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
377
|
+
@doc_task = task "#{name}-doc" do
|
|
378
|
+
# This flag allows to disable documentation generation
|
|
379
|
+
# once doc_task has been called
|
|
380
|
+
if generates_doc?
|
|
381
|
+
@installed_doc = false
|
|
382
|
+
catch(:doc_disabled) do
|
|
383
|
+
begin
|
|
384
|
+
yield if block_given?
|
|
385
|
+
|
|
386
|
+
unless @installed_doc
|
|
387
|
+
install_doc
|
|
388
|
+
end
|
|
386
389
|
|
|
387
|
-
|
|
388
|
-
raise
|
|
389
|
-
rescue ::Exception => e
|
|
390
|
-
if Autobuild.doc_errors
|
|
390
|
+
rescue Interrupt
|
|
391
391
|
raise
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
warn "%s: see #{e.logfile} for more details"
|
|
392
|
+
rescue ::Exception => e
|
|
393
|
+
if Autobuild.doc_errors
|
|
394
|
+
raise
|
|
396
395
|
else
|
|
397
|
-
warn "%s:
|
|
396
|
+
warn "%s: failed to generate documentation"
|
|
397
|
+
if e.kind_of?(SubcommandFailed)
|
|
398
|
+
warn "%s: see #{e.logfile} for more details"
|
|
399
|
+
else
|
|
400
|
+
warn "%s: #{e.message}"
|
|
401
|
+
end
|
|
398
402
|
end
|
|
399
403
|
end
|
|
400
404
|
end
|
|
@@ -404,6 +408,30 @@ module Autobuild
|
|
|
404
408
|
task :doc => "#{name}-doc"
|
|
405
409
|
end
|
|
406
410
|
|
|
411
|
+
# True if some documentation will be generated and false otherwise.
|
|
412
|
+
#
|
|
413
|
+
# This will return true only if a documentation task has been defined by
|
|
414
|
+
# calling #doc_task _and_ #disable_doc has not been called (or if
|
|
415
|
+
# #enable_doc has been called after the last call to #disable_doc).
|
|
416
|
+
def generates_doc?
|
|
417
|
+
if @doc_disabled
|
|
418
|
+
return false
|
|
419
|
+
else
|
|
420
|
+
return !!@doc_task
|
|
421
|
+
end
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
# Re-enables documentation generation after #disable_doc has been called
|
|
425
|
+
def enable_doc
|
|
426
|
+
@doc_disabled = false
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
# Disables any documentation generation, regardless of whether doc_task
|
|
430
|
+
# has been called or not.
|
|
431
|
+
def disable_doc
|
|
432
|
+
@doc_disabled = true
|
|
433
|
+
end
|
|
434
|
+
|
|
407
435
|
def install_doc
|
|
408
436
|
if !File.directory?(self.doc_dir)
|
|
409
437
|
raise "#{self.doc_dir} was expected to be a directory, but it is not. Check the package's documentation generation, the generated documentation should be in #{self.doc_dir}"
|
data/lib/autobuild/version.rb
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('..', File.dirname(__FILE__))
|
|
2
|
+
$LOAD_PATH << File.expand_path('../lib', File.dirname(__FILE__))
|
|
3
|
+
require 'test/unit'
|
|
4
|
+
require 'test/tools'
|
|
5
|
+
require 'autobuild'
|
|
6
|
+
|
|
7
|
+
class TC_Package < Test::Unit::TestCase
|
|
8
|
+
include Autobuild
|
|
9
|
+
|
|
10
|
+
def test_generates_doc_p
|
|
11
|
+
pkg = Autobuild::Package.new
|
|
12
|
+
assert !pkg.generates_doc?
|
|
13
|
+
pkg.doc_task
|
|
14
|
+
assert pkg.generates_doc?
|
|
15
|
+
pkg.disable_doc
|
|
16
|
+
assert !pkg.generates_doc?
|
|
17
|
+
pkg.enable_doc
|
|
18
|
+
assert pkg.generates_doc?
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: autobuild
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 4225852661
|
|
5
5
|
prerelease: 6
|
|
6
6
|
segments:
|
|
7
7
|
- 1
|
|
8
8
|
- 6
|
|
9
9
|
- 2
|
|
10
10
|
- b
|
|
11
|
-
-
|
|
12
|
-
version: 1.6.2.
|
|
11
|
+
- 12
|
|
12
|
+
version: 1.6.2.b12
|
|
13
13
|
platform: ruby
|
|
14
14
|
authors:
|
|
15
15
|
- Sylvain Joyeux
|
|
@@ -134,6 +134,7 @@ files:
|
|
|
134
134
|
- test/test_import_tar.rb
|
|
135
135
|
- test/test_subcommand.rb
|
|
136
136
|
- test/tools.rb
|
|
137
|
+
- test/test_package.rb
|
|
137
138
|
- .gemtest
|
|
138
139
|
homepage: http://rock-robotics.org/stable/documentation/autoproj
|
|
139
140
|
licenses: []
|
|
@@ -175,4 +176,5 @@ test_files:
|
|
|
175
176
|
- test/test_import_svn.rb
|
|
176
177
|
- test/test_import_tar.rb
|
|
177
178
|
- test/test_subcommand.rb
|
|
179
|
+
- test/test_package.rb
|
|
178
180
|
- test/test_import_cvs.rb
|