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.
@@ -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
- STDERR.puts "RMail is not available. Mail notification is disabled"
245
+ Autobuild.warn "RMail is not available. Mail notification is disabled"
246
246
  else
247
247
  Reporting << MailReporter.new(Autobuild.mail)
248
248
  end
@@ -18,8 +18,6 @@ module Autobuild
18
18
  dir =
19
19
  if target.respond_to?(:srcdir)
20
20
  "(#{target.srcdir})"
21
- else
22
- puts target.inspect
23
21
  end
24
22
  target_name =
25
23
  if target.respond_to?(:name)
@@ -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
- $stderr.puts "WARNING: size is not available for #{@url}, relying on modification time"
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
- $stderr.puts "WARNING: modification time is not available for #{@url}, relying on size"
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
- $stderr.puts "WARNING: neither size nor modification time available for #{@url}, will always update"
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
@@ -21,11 +21,11 @@ module Autobuild
21
21
  end
22
22
 
23
23
  if branch
24
- STDERR.puts "WARN: the git importer now expects you to provide the branch as a named option"
25
- STDERR.puts "WARN: this form is deprecated:"
26
- STDERR.puts "WARN: Autobuild.git 'git://gitorious.org/rock/buildconf.git', 'master'"
27
- STDERR.puts "WARN: and should be replaced by"
28
- STDERR.puts "WARN: Autobuild.git 'git://gitorious.org/rock/buildconf.git', :branch => 'master'"
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
@@ -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); @options = options end
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
- package.progress_start "updating %s" do
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 => e
130
- fallback(e, package, :import, package)
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
- checkout(package)
137
- patch(package)
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 Autobuild::Exception => e
141
- FileUtils.rm_rf package.srcdir
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
- puts " not updating #{package.name}"
191
+ package.message "%s: not updating"
159
192
  end
160
193
  return
161
194
  end
@@ -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
- Dir.chdir(srcdir) do
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
- STDERR.puts "W: failed to generate documentation for #{name}"
393
+ warn "%s: failed to generate documentation"
384
394
  if e.kind_of?(SubcommandFailed)
385
- STDERR.puts "W: see #{e.logfile} for more details"
395
+ warn "%s: see #{e.logfile} for more details"
386
396
  else
387
- STDERR.puts "W: #{e.message}"
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
- STDERR.puts " #{name} depends on #{pkg.name}"
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
- STDERR.puts " #{name} provides #{p}"
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
- in_dir(builddir) do
44
- progress_start "generating documentation for %s" do
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
- STDERR.puts " forcing reconfiguration of #{name} (#{old_opt} != #{new_opt})"
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
- puts "option '#{name}' changed value: '#{old_value}' => '#{value}'"
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
- puts "CMake configuration changed, forcing a reconfigure"
287
+ message "%s: CMake configuration changed, forcing a reconfigure"
289
288
  end
290
289
  FileUtils.rm_f cmake_cache
291
290
  end
@@ -67,7 +67,7 @@ module Autobuild
67
67
  currentBuffer = nil
68
68
  elsif currentBuffer =~ /^\s*(?:codels_)?requires.*;$/
69
69
  # Check that the regexp is not too strict
70
- STDERR.puts "failed to match #{currentBuffer}"
70
+ warn "%s: failed to match #{currentBuffer}"
71
71
  end
72
72
  end
73
73
  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
- STDERR.puts "orogen: found #{rtt.name} which provides the RTT"
201
+ message "orogen: found #{rtt.name} which provides the RTT"
202
202
  end
203
203
  depends_on rtt.name
204
204
  end
@@ -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
@@ -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
@@ -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
- STDERR.puts "INFO: cannot autodetect the number of CPUs on this sytem"
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
- puts "#{target_name}: running #{command.join(" ")}\n (output goes to #{logname})"
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'
@@ -32,7 +32,7 @@ module Autobuild
32
32
  exclude.each { |rx| raise unless Regexp === rx }
33
33
  exclude << (/#{Regexp.quote(STAMPFILE)}$/)
34
34
 
35
- puts "getting tree timestamp for #{path}" if Autobuild.debug
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
- puts " excluding #{p}" if Autobuild.debug
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
- puts " newest file: #{latest_file} at #{latest}" if Autobuild.debug
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
- puts "Touching #{stampfile}" if Autobuild.debug
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"
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.6.1" unless defined? Autobuild::VERSION
2
+ VERSION = "1.6.2.b1" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
 
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
- hash: 13
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
- date: 2012-09-18 00:00:00 Z
19
- dependencies:
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
- prerelease: false
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- requirement: &id003 !ruby/object:Gem::Requirement
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
- hash: 19
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
- requirement: &id004 !ruby/object:Gem::Requirement
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
- hash: 7
76
- segments:
77
- - 3
78
- - 0
79
- version: "3.0"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.1'
80
55
  type: :development
81
- version_requirements: *id004
82
- description: Collection of classes to handle build systems (CMake, autotools, ...) and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj) integrated software project management tool.
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
- hash: 3
151
- segments:
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
- hash: 3
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.24
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