autobuild 1.6.1 → 1.6.2.b1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/autobuild/config.rb +1 -1
- data/lib/autobuild/exceptions.rb +0 -2
- data/lib/autobuild/import/archive.rb +3 -3
- data/lib/autobuild/import/git.rb +5 -5
- data/lib/autobuild/importer.rb +77 -44
- data/lib/autobuild/package.rb +18 -8
- data/lib/autobuild/packages/autotools.rb +4 -6
- data/lib/autobuild/packages/cmake.rb +2 -3
- data/lib/autobuild/packages/genom.rb +1 -1
- data/lib/autobuild/packages/orogen.rb +1 -1
- data/lib/autobuild/parallel.rb +0 -21
- data/lib/autobuild/reporting.rb +12 -1
- data/lib/autobuild/subcommand.rb +2 -2
- data/lib/autobuild/timestamps.rb +4 -4
- data/lib/autobuild/version.rb +1 -1
- metadata +58 -88
data/lib/autobuild/config.rb
CHANGED
@@ -242,7 +242,7 @@ module Autobuild
|
|
242
242
|
def self.apply(packages, buildname = "autobuild")
|
243
243
|
if Autobuild.mail[:to]
|
244
244
|
if !Autobuild::HAS_RMAIL
|
245
|
-
|
245
|
+
Autobuild.warn "RMail is not available. Mail notification is disabled"
|
246
246
|
else
|
247
247
|
Reporting << MailReporter.new(Autobuild.mail)
|
248
248
|
end
|
data/lib/autobuild/exceptions.rb
CHANGED
@@ -59,13 +59,13 @@ module Autobuild
|
|
59
59
|
if mtime && size
|
60
60
|
do_update = (size != cached_size || mtime > cached_mtime)
|
61
61
|
elsif mtime
|
62
|
-
|
62
|
+
package.warn "%s: archive size is not available for #{@url}, relying on modification time"
|
63
63
|
do_update = (mtime > cached_mtime)
|
64
64
|
elsif size
|
65
|
-
|
65
|
+
package.warn "%s: archive modification time is not available for #{@url}, relying on size"
|
66
66
|
do_update = (size != cached_size)
|
67
67
|
else
|
68
|
-
|
68
|
+
package.warn "%s: neither the archive size nor its modification time available for #{@url}, will always update"
|
69
69
|
do_update = true
|
70
70
|
end
|
71
71
|
end
|
data/lib/autobuild/import/git.rb
CHANGED
@@ -21,11 +21,11 @@ module Autobuild
|
|
21
21
|
end
|
22
22
|
|
23
23
|
if branch
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
Autobuild.warn "the git importer now expects you to provide the branch as a named option"
|
25
|
+
Autobuild.warn "this form is deprecated:"
|
26
|
+
Autobuild.warn " Autobuild.git 'git://gitorious.org/rock/buildconf.git', 'master'"
|
27
|
+
Autobuild.warn "and should be replaced by"
|
28
|
+
Autobuild.warn " Autobuild.git 'git://gitorious.org/rock/buildconf.git', :branch => 'master'"
|
29
29
|
end
|
30
30
|
|
31
31
|
gitopts, common = Kernel.filter_options options, :push_to => nil, :branch => nil, :tag => nil, :commit => nil
|
data/lib/autobuild/importer.rb
CHANGED
@@ -65,7 +65,26 @@ class Importer
|
|
65
65
|
# [:patches] a list of patch to apply after import
|
66
66
|
#
|
67
67
|
# More options are specific to each importer type.
|
68
|
-
def initialize(options)
|
68
|
+
def initialize(options)
|
69
|
+
@options = options.dup
|
70
|
+
end
|
71
|
+
|
72
|
+
# The number of times update / checkout should be retried before giving up.
|
73
|
+
# The default is 0 (do not retry)
|
74
|
+
#
|
75
|
+
# Set either with #retry_count= or by setting the :retry_count option when
|
76
|
+
# constructing this importer
|
77
|
+
def retry_count
|
78
|
+
@options[:retry_count] || 0
|
79
|
+
end
|
80
|
+
|
81
|
+
# Sets the number of times update / checkout should be retried before giving
|
82
|
+
# up. 0 (the default) disables retrying.
|
83
|
+
#
|
84
|
+
# See also #retry_count
|
85
|
+
def retry_count=(count)
|
86
|
+
@options[:retry_count] = count
|
87
|
+
end
|
69
88
|
|
70
89
|
def patches
|
71
90
|
if @options[:patches].respond_to?(:to_ary)
|
@@ -85,65 +104,79 @@ class Importer
|
|
85
104
|
patch(package, kept_patches)
|
86
105
|
end
|
87
106
|
|
88
|
-
|
89
|
-
update(package)
|
90
|
-
patch(package)
|
91
|
-
end
|
92
|
-
package.updated = true
|
93
|
-
rescue Interrupt
|
94
|
-
raise
|
95
|
-
rescue ::Exception => original_error
|
96
|
-
# If the package is patched, it might be that the update
|
97
|
-
# failed because we needed to unpatch first. Try it out
|
98
|
-
#
|
99
|
-
# This assumes that importing data with conflict will
|
100
|
-
# make the import fail, but not make the patch
|
101
|
-
# un-appliable. Importers that do not follow this rule
|
102
|
-
# will have to unpatch by themselves.
|
103
|
-
cur_patches = currently_applied_patches(package)
|
104
|
-
if cur_patches.empty?
|
105
|
-
return fallback(original_error, package, :import, package)
|
106
|
-
end
|
107
|
-
|
108
|
-
package.message "update failed and some patches are applied, retrying after removing all patches first"
|
109
|
-
begin
|
110
|
-
patch(package, [])
|
111
|
-
|
112
|
-
rescue ::Exception => e
|
113
|
-
# The unpatching failed. The importer probably did
|
114
|
-
# change the files in a way that made the patching
|
115
|
-
# impossible to reverse. Just raise the original
|
116
|
-
# error (which hopefully should be the importer
|
117
|
-
# message that says that there are conflicts)
|
118
|
-
raise original_error
|
119
|
-
end
|
120
|
-
|
107
|
+
retry_count = 0
|
121
108
|
begin
|
122
109
|
package.progress_start "updating %s" do
|
123
110
|
update(package)
|
124
|
-
patch(package)
|
125
111
|
end
|
126
|
-
package.updated = true
|
127
112
|
rescue Interrupt
|
128
113
|
raise
|
129
|
-
rescue ::Exception =>
|
130
|
-
|
114
|
+
rescue ::Exception => original_error
|
115
|
+
# If the package is patched, it might be that the update
|
116
|
+
# failed because we needed to unpatch first. Try it out
|
117
|
+
#
|
118
|
+
# This assumes that importing data with conflict will
|
119
|
+
# make the import fail, but not make the patch
|
120
|
+
# un-appliable. Importers that do not follow this rule
|
121
|
+
# will have to unpatch by themselves.
|
122
|
+
cur_patches = currently_applied_patches(package)
|
123
|
+
if !cur_patches.empty?
|
124
|
+
package.message "update failed and some patches are applied, retrying after removing all patches first"
|
125
|
+
begin
|
126
|
+
patch(package, [])
|
127
|
+
return perform_update(package)
|
128
|
+
rescue Interrupt
|
129
|
+
raise
|
130
|
+
rescue ::Exception
|
131
|
+
raise original_error
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
retry_count += 1
|
136
|
+
if retry_count > self.retry_count
|
137
|
+
raise
|
138
|
+
end
|
139
|
+
package.message "update failed in #{package.srcdir}, retrying (#{retry_count}/#{self.retry_count})"
|
140
|
+
retry
|
131
141
|
end
|
142
|
+
|
143
|
+
patch(package)
|
144
|
+
package.updated = true
|
145
|
+
rescue Interrupt
|
146
|
+
raise
|
147
|
+
rescue Autobuild::Exception => e
|
148
|
+
fallback(e, package, :import, package)
|
132
149
|
end
|
133
150
|
|
134
151
|
def perform_checkout(package)
|
135
152
|
package.progress_start "checking out %s" do
|
136
|
-
|
137
|
-
|
153
|
+
retry_count = 0
|
154
|
+
begin
|
155
|
+
checkout(package)
|
156
|
+
rescue Interrupt
|
157
|
+
raise
|
158
|
+
rescue ::Exception
|
159
|
+
retry_count += 1
|
160
|
+
if retry_count > self.retry_count
|
161
|
+
raise
|
162
|
+
end
|
163
|
+
package.message "checkout of %s failed, deleting the source directory #{package.srcdir} and retrying (#{retry_count}/#{self.retry_count})"
|
164
|
+
FileUtils.rm_rf package.srcdir
|
165
|
+
retry
|
166
|
+
end
|
138
167
|
end
|
168
|
+
|
169
|
+
patch(package)
|
139
170
|
package.updated = true
|
140
|
-
rescue
|
141
|
-
|
142
|
-
fallback(e, package, :import, package)
|
171
|
+
rescue Interrupt
|
172
|
+
raise
|
143
173
|
rescue ::Exception
|
144
174
|
package.message "checkout of %s failed, deleting the source directory #{package.srcdir}"
|
145
175
|
FileUtils.rm_rf package.srcdir
|
146
176
|
raise
|
177
|
+
rescue Autobuild::Exception => e
|
178
|
+
FileUtils.rm_rf package.srcdir
|
179
|
+
fallback(e, package, :import, package)
|
147
180
|
end
|
148
181
|
|
149
182
|
# Performs the import of +package+
|
@@ -155,7 +188,7 @@ class Importer
|
|
155
188
|
perform_update(package)
|
156
189
|
else
|
157
190
|
if Autobuild.verbose
|
158
|
-
|
191
|
+
package.message "%s: not updating"
|
159
192
|
end
|
160
193
|
return
|
161
194
|
end
|
data/lib/autobuild/package.rb
CHANGED
@@ -273,6 +273,18 @@ module Autobuild
|
|
273
273
|
msg
|
274
274
|
end
|
275
275
|
|
276
|
+
# Display a progress message. %s in the string is replaced by the
|
277
|
+
# package name
|
278
|
+
def warn(warning_string)
|
279
|
+
message(" WARN: #{warning_string}", :magenta)
|
280
|
+
end
|
281
|
+
|
282
|
+
# Display a progress message. %s in the string is replaced by the
|
283
|
+
# package name
|
284
|
+
def error(error_string)
|
285
|
+
message(" ERROR: #{error_string}", :red, :bold)
|
286
|
+
end
|
287
|
+
|
276
288
|
# Display a progress message. %s in the string is replaced by the
|
277
289
|
# package name
|
278
290
|
def message(*args)
|
@@ -366,9 +378,7 @@ module Autobuild
|
|
366
378
|
@installed_doc = false
|
367
379
|
catch(:doc_disabled) do
|
368
380
|
begin
|
369
|
-
|
370
|
-
yield if block_given?
|
371
|
-
end
|
381
|
+
yield if block_given?
|
372
382
|
|
373
383
|
unless @installed_doc
|
374
384
|
install_doc
|
@@ -380,11 +390,11 @@ module Autobuild
|
|
380
390
|
if Autobuild.doc_errors
|
381
391
|
raise
|
382
392
|
else
|
383
|
-
|
393
|
+
warn "%s: failed to generate documentation"
|
384
394
|
if e.kind_of?(SubcommandFailed)
|
385
|
-
|
395
|
+
warn "%s: see #{e.logfile} for more details"
|
386
396
|
else
|
387
|
-
|
397
|
+
warn "%s: #{e.message}"
|
388
398
|
end
|
389
399
|
end
|
390
400
|
end
|
@@ -464,7 +474,7 @@ module Autobuild
|
|
464
474
|
next if @dependencies.include?(pkg.name)
|
465
475
|
|
466
476
|
if Autobuild.verbose
|
467
|
-
|
477
|
+
Autobuild.message "#{name} depends on #{pkg.name}"
|
468
478
|
end
|
469
479
|
|
470
480
|
task "#{name}-import" => "#{pkg.name}-import"
|
@@ -486,7 +496,7 @@ module Autobuild
|
|
486
496
|
@@provides[p] = self
|
487
497
|
|
488
498
|
if Autobuild.verbose
|
489
|
-
|
499
|
+
Autobuild.message "#{name} provides #{p}"
|
490
500
|
end
|
491
501
|
|
492
502
|
task p => name
|
@@ -40,12 +40,10 @@ module Autobuild
|
|
40
40
|
def with_doc(target = 'doc')
|
41
41
|
task "#{name}-doc" => configurestamp
|
42
42
|
doc_task do
|
43
|
-
|
44
|
-
|
45
|
-
Subprocess.run(self, 'doc', Autobuild.tool(:make), "-j#{parallel_build_level}", target)
|
46
|
-
end
|
47
|
-
yield if block_given?
|
43
|
+
progress_start "generating documentation for %s" do
|
44
|
+
Subprocess.run(self, 'doc', Autobuild.tool(:make), "-j#{parallel_build_level}", target, :working_directory => builddir)
|
48
45
|
end
|
46
|
+
yield if block_given?
|
49
47
|
end
|
50
48
|
end
|
51
49
|
|
@@ -165,7 +163,7 @@ module Autobuild
|
|
165
163
|
new_opt = testflags.find { |o| !options.include?(o) }
|
166
164
|
if old_opt || new_opt
|
167
165
|
if Autobuild.verbose
|
168
|
-
|
166
|
+
Autobuild.message "forcing reconfiguration of #{name} (#{old_opt} != #{new_opt})"
|
169
167
|
end
|
170
168
|
FileUtils.rm_f configurestamp # to force reconfiguration
|
171
169
|
end
|
@@ -162,7 +162,6 @@ module Autobuild
|
|
162
162
|
|
163
163
|
doxyfile_in = File.join(srcdir, "Doxyfile.in")
|
164
164
|
if !File.file?(doxyfile_in)
|
165
|
-
puts "NO INTERNAL: #{name}"
|
166
165
|
return false
|
167
166
|
end
|
168
167
|
File.readlines(doxyfile_in).each do |line|
|
@@ -272,7 +271,7 @@ module Autobuild
|
|
272
271
|
old_value = cache_line.split("=")[1].chomp if cache_line
|
273
272
|
if !old_value || !equivalent_option_value?(old_value, value)
|
274
273
|
if Autobuild.debug
|
275
|
-
|
274
|
+
message "%s: option '#{name}' changed value: '#{old_value}' => '#{value}'"
|
276
275
|
end
|
277
276
|
if old_value
|
278
277
|
message "%s: changed value of #{name} from #{old_value} to #{value}"
|
@@ -285,7 +284,7 @@ module Autobuild
|
|
285
284
|
end
|
286
285
|
if did_change
|
287
286
|
if Autobuild.debug
|
288
|
-
|
287
|
+
message "%s: CMake configuration changed, forcing a reconfigure"
|
289
288
|
end
|
290
289
|
FileUtils.rm_f cmake_cache
|
291
290
|
end
|
@@ -198,7 +198,7 @@ module Autobuild
|
|
198
198
|
# and if so add it into our dependency list
|
199
199
|
if rtt = Autobuild::Package["pkgconfig/orocos-rtt-#{orocos_target}"]
|
200
200
|
if Autobuild.verbose
|
201
|
-
|
201
|
+
message "orogen: found #{rtt.name} which provides the RTT"
|
202
202
|
end
|
203
203
|
depends_on rtt.name
|
204
204
|
end
|
data/lib/autobuild/parallel.rb
CHANGED
@@ -42,13 +42,9 @@ module Autobuild
|
|
42
42
|
|
43
43
|
def process_finished_task(task, processed, queue)
|
44
44
|
processed << task
|
45
|
-
#puts "finished #{task} (#{task.object_id}), considering dependencies"
|
46
45
|
reverse_dependencies[task].each do |candidate|
|
47
46
|
if candidate.prerequisite_tasks.all? { |t| processed.include?(t) }
|
48
|
-
#puts " adding #{candidate}"
|
49
47
|
queue << candidate
|
50
|
-
else
|
51
|
-
#puts " rejecting #{candidate} (#{candidate.prerequisite_tasks.find_all { |t| !processed.include?(t) }.map(&:name).join(", ")})"
|
52
48
|
end
|
53
49
|
end
|
54
50
|
end
|
@@ -70,7 +66,6 @@ module Autobuild
|
|
70
66
|
|
71
67
|
def discover_dependencies(t)
|
72
68
|
return if tasks.include?(t) # already discovered or being discovered
|
73
|
-
#puts "adding #{t}"
|
74
69
|
tasks << t
|
75
70
|
|
76
71
|
t.prerequisite_tasks.each do |dep_t|
|
@@ -88,12 +83,6 @@ module Autobuild
|
|
88
83
|
discover_dependencies(t)
|
89
84
|
end
|
90
85
|
@roots = tasks.find_all { |t| t.prerequisite_tasks.empty? }.to_set
|
91
|
-
|
92
|
-
#puts "roots:"
|
93
|
-
roots.each do |t|
|
94
|
-
#puts " #{t}"
|
95
|
-
end
|
96
|
-
#puts
|
97
86
|
|
98
87
|
# Build a reverse dependency graph (i.e. a mapping from a task to
|
99
88
|
# the tasks that depend on it)
|
@@ -122,7 +111,6 @@ module Autobuild
|
|
122
111
|
end
|
123
112
|
|
124
113
|
pending_task = queue.pop
|
125
|
-
#puts "#{processed.size} tasks processed so far, #{tasks.size} total"
|
126
114
|
if pending_task.instance_variable_get(:@already_invoked) || !pending_task.needed?
|
127
115
|
process_finished_task(pending_task, processed, queue)
|
128
116
|
next
|
@@ -144,20 +132,11 @@ module Autobuild
|
|
144
132
|
end
|
145
133
|
|
146
134
|
worker = available_workers.pop
|
147
|
-
#puts "queueing #{pending_task}"
|
148
135
|
worker.queue(pending_task)
|
149
136
|
end
|
150
137
|
|
151
138
|
if processed.size != tasks.size
|
152
139
|
with_cycle = tasks.to_set
|
153
|
-
(tasks.to_set - processed).each do |pending_task|
|
154
|
-
pending_task.prerequisite_tasks.each do |t|
|
155
|
-
if !processed.include?(t)
|
156
|
-
#puts "#{pending_task} => #{t}"
|
157
|
-
end
|
158
|
-
end
|
159
|
-
end
|
160
|
-
raise "cycle in task graph"
|
161
140
|
raise "cycle in task graph: #{with_cycle.map(&:name).sort.join(", ")}"
|
162
141
|
end
|
163
142
|
end
|
data/lib/autobuild/reporting.rb
CHANGED
@@ -32,6 +32,17 @@ module Autobuild
|
|
32
32
|
end
|
33
33
|
@progress_messages = Array.new
|
34
34
|
|
35
|
+
# Displays an error message
|
36
|
+
def self.error(message)
|
37
|
+
Autoproj.message(" ERROR: #{message}", :red, :bold)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Displays a warning message
|
41
|
+
def self.warn(message)
|
42
|
+
Autoproj.message(" WARN: #{message}", :magenta)
|
43
|
+
end
|
44
|
+
|
45
|
+
|
35
46
|
def self.progress_start(key, *args)
|
36
47
|
if args.last.kind_of?(Hash)
|
37
48
|
options = Kernel.validate_options args.pop, :done_message => nil
|
@@ -76,7 +87,7 @@ module Autobuild
|
|
76
87
|
found = true
|
77
88
|
end
|
78
89
|
end
|
79
|
-
if found
|
90
|
+
if found && @last_progress_msg
|
80
91
|
puts
|
81
92
|
display_progress
|
82
93
|
end
|
data/lib/autobuild/subcommand.rb
CHANGED
@@ -110,7 +110,7 @@ module Autobuild
|
|
110
110
|
# If the cpuinfo detection fails, inform the user and set it to 1
|
111
111
|
if !@processor_count
|
112
112
|
# Hug... What kind of system is it ?
|
113
|
-
|
113
|
+
Autobuild.message "INFO: cannot autodetect the number of CPUs on this sytem"
|
114
114
|
@processor_count = 1
|
115
115
|
end
|
116
116
|
|
@@ -168,7 +168,7 @@ module Autobuild::Subprocess
|
|
168
168
|
end
|
169
169
|
|
170
170
|
if Autobuild.verbose
|
171
|
-
|
171
|
+
Autobuild.message "#{target_name}: running #{command.join(" ")}\n (output goes to #{logname})"
|
172
172
|
end
|
173
173
|
|
174
174
|
open_flag = if Autobuild.keep_oldlogs then 'a'
|
data/lib/autobuild/timestamps.rb
CHANGED
@@ -32,7 +32,7 @@ module Autobuild
|
|
32
32
|
exclude.each { |rx| raise unless Regexp === rx }
|
33
33
|
exclude << (/#{Regexp.quote(STAMPFILE)}$/)
|
34
34
|
|
35
|
-
|
35
|
+
Autobuild.message "getting tree timestamp for #{path}" if Autobuild.debug
|
36
36
|
latest = Time.at(0)
|
37
37
|
latest_file = ""
|
38
38
|
|
@@ -40,7 +40,7 @@ module Autobuild
|
|
40
40
|
Find.prune if File.basename(p) =~ /^\./
|
41
41
|
exclude.each { |pattern|
|
42
42
|
if p =~ pattern
|
43
|
-
|
43
|
+
Autobuild.message " excluding #{p}" if Autobuild.debug
|
44
44
|
Find.prune
|
45
45
|
end
|
46
46
|
}
|
@@ -53,7 +53,7 @@ module Autobuild
|
|
53
53
|
end
|
54
54
|
}
|
55
55
|
|
56
|
-
|
56
|
+
Autobuild.message " newest file: #{latest_file} at #{latest}" if Autobuild.debug
|
57
57
|
return latest_file, latest
|
58
58
|
end
|
59
59
|
|
@@ -97,7 +97,7 @@ module Autobuild
|
|
97
97
|
end
|
98
98
|
|
99
99
|
def self.touch_stamp(stampfile)
|
100
|
-
|
100
|
+
Autobuild.message "Touching #{stampfile}" if Autobuild.debug
|
101
101
|
dir = File.dirname(stampfile)
|
102
102
|
if File.exists?(dir) && !File.directory?(dir)
|
103
103
|
raise "#{dir} exists and is not a directory"
|
data/lib/autobuild/version.rb
CHANGED
metadata
CHANGED
@@ -1,95 +1,73 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 6
|
9
|
-
- 1
|
10
|
-
version: 1.6.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.6.2.b1
|
5
|
+
prerelease: 6
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Sylvain Joyeux
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-09-22 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: rake
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &17029640 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 3
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
- 7
|
32
|
-
- 0
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
33
21
|
version: 0.7.0
|
34
22
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: utilrb
|
38
23
|
prerelease: false
|
39
|
-
|
24
|
+
version_requirements: *17029640
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: utilrb
|
27
|
+
requirement: &17029140 !ruby/object:Gem::Requirement
|
40
28
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
hash: 29
|
45
|
-
segments:
|
46
|
-
- 1
|
47
|
-
- 3
|
48
|
-
- 3
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
49
32
|
version: 1.3.3
|
50
33
|
type: :runtime
|
51
|
-
version_requirements: *id002
|
52
|
-
- !ruby/object:Gem::Dependency
|
53
|
-
name: rdoc
|
54
34
|
prerelease: false
|
55
|
-
|
35
|
+
version_requirements: *17029140
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rdoc
|
38
|
+
requirement: &17028600 !ruby/object:Gem::Requirement
|
56
39
|
none: false
|
57
|
-
requirements:
|
40
|
+
requirements:
|
58
41
|
- - ~>
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
|
61
|
-
segments:
|
62
|
-
- 3
|
63
|
-
- 10
|
64
|
-
version: "3.10"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '3.10'
|
65
44
|
type: :development
|
66
|
-
version_requirements: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: hoe
|
69
45
|
prerelease: false
|
70
|
-
|
46
|
+
version_requirements: *17028600
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: hoe
|
49
|
+
requirement: &17028140 !ruby/object:Gem::Requirement
|
71
50
|
none: false
|
72
|
-
requirements:
|
51
|
+
requirements:
|
73
52
|
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
segments:
|
77
|
-
- 3
|
78
|
-
- 0
|
79
|
-
version: "3.0"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.1'
|
80
55
|
type: :development
|
81
|
-
|
82
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *17028140
|
58
|
+
description: Collection of classes to handle build systems (CMake, autotools, ...)
|
59
|
+
and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration
|
60
|
+
to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj)
|
61
|
+
integrated software project management tool.
|
83
62
|
email: rock-dev@dfki.de
|
84
|
-
executables:
|
63
|
+
executables:
|
85
64
|
- autobuild
|
86
65
|
extensions: []
|
87
|
-
|
88
|
-
extra_rdoc_files:
|
66
|
+
extra_rdoc_files:
|
89
67
|
- Changes.txt
|
90
68
|
- Manifest.txt
|
91
69
|
- README.txt
|
92
|
-
files:
|
70
|
+
files:
|
93
71
|
- Changes.txt
|
94
72
|
- Manifest.txt
|
95
73
|
- README.txt
|
@@ -135,40 +113,32 @@ files:
|
|
135
113
|
- .gemtest
|
136
114
|
homepage: http://rock-robotics.org/stable/documentation/autoproj
|
137
115
|
licenses: []
|
138
|
-
|
139
116
|
post_install_message:
|
140
|
-
rdoc_options:
|
117
|
+
rdoc_options:
|
141
118
|
- --main
|
142
119
|
- README.txt
|
143
|
-
require_paths:
|
120
|
+
require_paths:
|
144
121
|
- lib
|
145
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
122
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
146
123
|
none: false
|
147
|
-
requirements:
|
148
|
-
- -
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
|
151
|
-
|
152
|
-
- 0
|
153
|
-
version: "0"
|
154
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
129
|
none: false
|
156
|
-
requirements:
|
157
|
-
- -
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
|
160
|
-
segments:
|
161
|
-
- 0
|
162
|
-
version: "0"
|
130
|
+
requirements:
|
131
|
+
- - ! '>'
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 1.3.1
|
163
134
|
requirements: []
|
164
|
-
|
165
135
|
rubyforge_project: autobuild
|
166
|
-
rubygems_version: 1.8.
|
136
|
+
rubygems_version: 1.8.11
|
167
137
|
signing_key:
|
168
138
|
specification_version: 3
|
169
139
|
summary: Library to handle build systems and import mechanisms
|
170
|
-
test_files:
|
140
|
+
test_files:
|
141
|
+
- test/test_import_cvs.rb
|
142
|
+
- test/test_subcommand.rb
|
171
143
|
- test/test_import_svn.rb
|
172
144
|
- test/test_import_tar.rb
|
173
|
-
- test/test_subcommand.rb
|
174
|
-
- test/test_import_cvs.rb
|