autobuild 1.19.0 → 1.22.1
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.
- checksums.yaml +4 -4
- data/.github/workflows/lint.yml +25 -0
- data/.github/workflows/test.yml +30 -0
- data/.rubocop.yml +14 -7
- data/autobuild.gemspec +8 -6
- data/bin/autobuild +1 -1
- data/lib/autobuild/build_logfile.rb +1 -2
- data/lib/autobuild/config.rb +18 -5
- data/lib/autobuild/configurable.rb +3 -1
- data/lib/autobuild/environment.rb +28 -45
- data/lib/autobuild/exceptions.rb +11 -5
- data/lib/autobuild/import/archive.rb +31 -22
- data/lib/autobuild/import/cvs.rb +6 -6
- data/lib/autobuild/import/darcs.rb +4 -4
- data/lib/autobuild/import/git-lfs.rb +4 -4
- data/lib/autobuild/import/git.rb +149 -70
- data/lib/autobuild/import/hg.rb +7 -7
- data/lib/autobuild/import/svn.rb +15 -9
- data/lib/autobuild/importer.rb +38 -38
- data/lib/autobuild/mail_reporter.rb +5 -2
- data/lib/autobuild/package.rb +24 -14
- data/lib/autobuild/packages/autotools.rb +4 -9
- data/lib/autobuild/packages/cmake.rb +16 -7
- data/lib/autobuild/packages/dummy.rb +0 -4
- data/lib/autobuild/packages/gnumake.rb +1 -1
- data/lib/autobuild/packages/orogen.rb +11 -4
- data/lib/autobuild/packages/pkgconfig.rb +2 -2
- data/lib/autobuild/packages/python.rb +1 -2
- data/lib/autobuild/packages/ruby.rb +5 -5
- data/lib/autobuild/parallel.rb +12 -17
- data/lib/autobuild/pkgconfig.rb +1 -0
- data/lib/autobuild/progress_display.rb +130 -49
- data/lib/autobuild/rake_task_extension.rb +6 -0
- data/lib/autobuild/reporting.rb +20 -7
- data/lib/autobuild/subcommand.rb +24 -23
- data/lib/autobuild/test_utility.rb +2 -1
- data/lib/autobuild/timestamps.rb +3 -3
- data/lib/autobuild/utility.rb +29 -9
- data/lib/autobuild/version.rb +1 -1
- data/lib/autobuild.rb +0 -3
- metadata +42 -26
- data/.travis.yml +0 -19
@@ -1,5 +1,10 @@
|
|
1
1
|
module Autobuild
|
2
2
|
module RakeTaskExtension
|
3
|
+
def initialize(*, **)
|
4
|
+
super
|
5
|
+
@disabled = false
|
6
|
+
end
|
7
|
+
|
3
8
|
def already_invoked?
|
4
9
|
@already_invoked
|
5
10
|
end
|
@@ -19,6 +24,7 @@ module Autobuild
|
|
19
24
|
end
|
20
25
|
end
|
21
26
|
end
|
27
|
+
|
22
28
|
class Rake::Task # rubocop:disable Style/ClassAndModuleChildren
|
23
29
|
include Autobuild::RakeTaskExtension
|
24
30
|
end
|
data/lib/autobuild/reporting.rb
CHANGED
@@ -47,10 +47,23 @@ module Autobuild
|
|
47
47
|
@display.progress_enabled?
|
48
48
|
end
|
49
49
|
|
50
|
+
def self.progress_display_synchronize(&block)
|
51
|
+
@display.synchronize(&block)
|
52
|
+
end
|
53
|
+
|
54
|
+
# @deprecated use {progress_display_mode=} instead
|
50
55
|
def self.progress_display_enabled=(value)
|
51
56
|
@display.progress_enabled = value
|
52
57
|
end
|
53
58
|
|
59
|
+
def self.progress_display_mode=(value)
|
60
|
+
@display.progress_mode = value
|
61
|
+
end
|
62
|
+
|
63
|
+
def self.progress_display_period=(value)
|
64
|
+
@display.progress_period = value
|
65
|
+
end
|
66
|
+
|
54
67
|
def self.message(*args, **options)
|
55
68
|
@display.message(*args, **options)
|
56
69
|
end
|
@@ -92,8 +105,8 @@ module Autobuild
|
|
92
105
|
interrupted = e
|
93
106
|
rescue Autobuild::Exception => e
|
94
107
|
return report_finish_on_error([e],
|
95
|
-
|
96
|
-
|
108
|
+
on_package_failures: on_package_failures,
|
109
|
+
interrupted_by: interrupted)
|
97
110
|
end
|
98
111
|
|
99
112
|
# If ignore_erorrs is true, check if some packages have failed
|
@@ -105,8 +118,8 @@ module Autobuild
|
|
105
118
|
end
|
106
119
|
|
107
120
|
report_finish_on_error(errors,
|
108
|
-
|
109
|
-
|
121
|
+
on_package_failures: on_package_failures,
|
122
|
+
interrupted_by: interrupted)
|
110
123
|
end
|
111
124
|
|
112
125
|
# @api private
|
@@ -157,7 +170,7 @@ module Autobuild
|
|
157
170
|
if interrupted_by
|
158
171
|
raise interrupted_by
|
159
172
|
else
|
160
|
-
|
173
|
+
errors
|
161
174
|
end
|
162
175
|
elsif %i[exit exit_silent].include?(on_package_failures)
|
163
176
|
exit 1
|
@@ -231,8 +244,8 @@ module Autobuild
|
|
231
244
|
scaled_size = (size / scale)
|
232
245
|
if scaled_size > 1
|
233
246
|
return format("%3.1<scaled>f%<scale_name>s",
|
234
|
-
|
235
|
-
|
247
|
+
scaled: scaled_size,
|
248
|
+
scale_name: name)
|
236
249
|
end
|
237
250
|
end
|
238
251
|
end
|
data/lib/autobuild/subcommand.rb
CHANGED
@@ -161,6 +161,7 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
161
161
|
def initialize(status, do_retry)
|
162
162
|
@status = status
|
163
163
|
@retry = do_retry
|
164
|
+
super()
|
164
165
|
end
|
165
166
|
end
|
166
167
|
|
@@ -222,12 +223,14 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
222
223
|
|
223
224
|
if command.last.kind_of?(Hash)
|
224
225
|
options = command.pop
|
225
|
-
options = Kernel.validate_options
|
226
|
+
options = Kernel.validate_options(
|
227
|
+
options,
|
226
228
|
input: nil, working_directory: nil, retry: false,
|
227
229
|
input_streams: [],
|
228
230
|
env: ENV.to_hash,
|
229
231
|
env_inherit: true,
|
230
232
|
encoding: 'BINARY'
|
233
|
+
)
|
231
234
|
|
232
235
|
input_streams << File.open(options[:input]) if options[:input]
|
233
236
|
input_streams.concat(options[:input_streams]) if options[:input_streams]
|
@@ -255,8 +258,8 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
255
258
|
options[:working_directory] ||= target.working_directory
|
256
259
|
end
|
257
260
|
|
258
|
-
logname = File.join(logdir, "#{target_name.gsub(
|
259
|
-
"#{phase.to_s.gsub(
|
261
|
+
logname = File.join(logdir, "#{target_name.gsub(/:/, '_')}-"\
|
262
|
+
"#{phase.to_s.gsub(/:/, '_')}.log")
|
260
263
|
unless File.directory?(File.dirname(logname))
|
261
264
|
FileUtils.mkdir_p File.dirname(logname)
|
262
265
|
end
|
@@ -312,8 +315,9 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
312
315
|
if Autobuild.windows?
|
313
316
|
Dir.chdir(options[:working_directory]) do
|
314
317
|
unless system(*command)
|
315
|
-
|
316
|
-
|
318
|
+
exit_code = $CHILD_STATUS.exitstatus
|
319
|
+
raise Failed.new(exit_code, nil),
|
320
|
+
"'#{command.join(' ')}' returned status #{exit_code}"
|
317
321
|
end
|
318
322
|
end
|
319
323
|
return # rubocop:disable Lint/NonLocalExitFromIterator
|
@@ -322,7 +326,6 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
322
326
|
cwrite.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
|
323
327
|
|
324
328
|
pid = fork do
|
325
|
-
begin
|
326
329
|
logfile.puts "in directory #{options[:working_directory] || Dir.pwd}"
|
327
330
|
|
328
331
|
cwrite.sync = true
|
@@ -340,20 +343,19 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
340
343
|
end
|
341
344
|
|
342
345
|
exec(env, *command,
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
+
chdir: options[:working_directory] || Dir.pwd,
|
347
|
+
close_others: false)
|
348
|
+
rescue Errno::ENOENT
|
346
349
|
cwrite.write([CONTROL_COMMAND_NOT_FOUND].pack('I'))
|
347
350
|
exit(100)
|
348
|
-
|
351
|
+
rescue Interrupt
|
349
352
|
cwrite.write([CONTROL_INTERRUPT].pack('I'))
|
350
353
|
exit(100)
|
351
|
-
|
354
|
+
rescue ::Exception => e
|
352
355
|
STDERR.puts e
|
353
356
|
STDERR.puts e.backtrace.join("\n ")
|
354
357
|
cwrite.write([CONTROL_UNEXPECTED].pack('I'))
|
355
358
|
exit(100)
|
356
|
-
end
|
357
359
|
end
|
358
360
|
|
359
361
|
readbuffer = StringIO.new
|
@@ -372,7 +374,7 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
372
374
|
end
|
373
375
|
rescue Errno::ENOENT => e
|
374
376
|
raise Failed.new(nil, false),
|
375
|
-
|
377
|
+
"cannot open input files: #{e.message}", retry: false
|
376
378
|
end
|
377
379
|
pwrite.close
|
378
380
|
end
|
@@ -382,15 +384,14 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
382
384
|
value = cread.read(4)
|
383
385
|
if value
|
384
386
|
# An error occured
|
385
|
-
value = value.
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
387
|
+
value = value.unpack1('I')
|
388
|
+
case value
|
389
|
+
when CONTROL_COMMAND_NOT_FOUND
|
390
|
+
raise Failed.new(nil, false), "command '#{command.first}' not found"
|
391
|
+
when CONTROL_INTERRUPT
|
390
392
|
raise Interrupt, "command '#{command.first}': interrupted by user"
|
391
393
|
else
|
392
|
-
raise Failed.new(nil, false),
|
393
|
-
"something unexpected happened"
|
394
|
+
raise Failed.new(nil, false), "something unexpected happened"
|
394
395
|
end
|
395
396
|
end
|
396
397
|
|
@@ -439,10 +440,10 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
439
440
|
|
440
441
|
if status.termsig
|
441
442
|
raise Failed.new(status.exitstatus, nil),
|
442
|
-
|
443
|
+
"'#{command.join(' ')}' terminated by signal #{status.termsig}"
|
443
444
|
else
|
444
445
|
raise Failed.new(status.exitstatus, nil),
|
445
|
-
|
446
|
+
"'#{command.join(' ')}' returned status #{status.exitstatus}"
|
446
447
|
end
|
447
448
|
end
|
448
449
|
|
@@ -458,7 +459,7 @@ module Autobuild::Subprocess # rubocop:disable Style/ClassAndModuleChildren
|
|
458
459
|
subcommand_output
|
459
460
|
rescue Failed => e
|
460
461
|
error = Autobuild::SubcommandFailed.new(target, command.join(" "),
|
461
|
-
|
462
|
+
logname, e.status, subcommand_output)
|
462
463
|
error.retry = if e.retry?.nil? then options[:retry]
|
463
464
|
else e.retry?
|
464
465
|
end
|
@@ -73,7 +73,8 @@ module Autobuild
|
|
73
73
|
def coverage_target_dir
|
74
74
|
if @coverage_target_dir
|
75
75
|
File.expand_path(@coverage_target_dir, package.prefix)
|
76
|
-
|
76
|
+
elsif (target_dir = self.target_dir)
|
77
|
+
File.join(target_dir, 'coverage')
|
77
78
|
end
|
78
79
|
end
|
79
80
|
|
data/lib/autobuild/timestamps.rb
CHANGED
@@ -58,8 +58,7 @@ module Autobuild
|
|
58
58
|
class SourceTreeTask < Rake::Task
|
59
59
|
attr_accessor :exclude
|
60
60
|
|
61
|
-
attr_reader :newest_file
|
62
|
-
attr_reader :newest_time
|
61
|
+
attr_reader :newest_file, :newest_time
|
63
62
|
|
64
63
|
def initialize(*args, &block)
|
65
64
|
@exclude = Autobuild.ignored_files.dup
|
@@ -71,10 +70,11 @@ module Autobuild
|
|
71
70
|
|
72
71
|
@newest_file, @newest_time =
|
73
72
|
Autobuild.tree_timestamp(name,
|
74
|
-
|
73
|
+
%r{(?:^|/)(?:CVS|_darcs|\.svn)$}, *@exclude)
|
75
74
|
@newest_time
|
76
75
|
end
|
77
76
|
end
|
77
|
+
|
78
78
|
def self.source_tree(path, &block)
|
79
79
|
task = SourceTreeTask.define_task(path)
|
80
80
|
block&.call(task)
|
data/lib/autobuild/utility.rb
CHANGED
@@ -30,6 +30,7 @@ module Autobuild
|
|
30
30
|
@target_dir = nil
|
31
31
|
@install_on_error = install_on_error
|
32
32
|
|
33
|
+
@no_results = false
|
33
34
|
@invoked = false
|
34
35
|
@success = false
|
35
36
|
@installed = false
|
@@ -58,6 +59,23 @@ module Autobuild
|
|
58
59
|
# not install anything
|
59
60
|
attr_writer :target_dir
|
60
61
|
|
62
|
+
# Controls whether this utility generates results or not
|
63
|
+
#
|
64
|
+
# By default, Autobuild assumes that utilities generate report or
|
65
|
+
# artifact files, that are saved in {#target_dir}. Set this flag to
|
66
|
+
# true to disable this behavior, in which case the only report will
|
67
|
+
# be the console output during run
|
68
|
+
#
|
69
|
+
# @see no_results?
|
70
|
+
attr_writer :no_results
|
71
|
+
|
72
|
+
# Whether this utility generates results or not
|
73
|
+
#
|
74
|
+
# @see no_results=
|
75
|
+
def no_results?
|
76
|
+
@no_results
|
77
|
+
end
|
78
|
+
|
61
79
|
# Absolute path to where the utility product files have to be installed.
|
62
80
|
# Returns nil if {target_dir} is not set.
|
63
81
|
#
|
@@ -66,7 +84,7 @@ module Autobuild
|
|
66
84
|
if @target_dir
|
67
85
|
utility_prefix = Autobuild.send("#{name}_prefix") || name
|
68
86
|
File.expand_path(@target_dir,
|
69
|
-
|
87
|
+
File.expand_path(utility_prefix, package.prefix))
|
70
88
|
else
|
71
89
|
File.join(package.logdir, "#{name}-results", package.name)
|
72
90
|
end
|
@@ -104,16 +122,18 @@ module Autobuild
|
|
104
122
|
def call_task_block
|
105
123
|
@invoked = true
|
106
124
|
|
107
|
-
|
108
|
-
|
125
|
+
begin
|
126
|
+
yield if block_given?
|
127
|
+
@success = true
|
128
|
+
rescue StandardError => e
|
129
|
+
install if install_on_error? && !@installed && !no_results?
|
130
|
+
raise
|
131
|
+
end
|
109
132
|
|
110
133
|
# Allow the user to install manually in the task
|
111
134
|
# block
|
112
|
-
install if !@installed &&
|
113
|
-
rescue
|
114
|
-
raise
|
115
|
-
rescue ::Exception => e
|
116
|
-
install if install_on_error? && !@installed && target_dir
|
135
|
+
install if !@installed && !no_results?
|
136
|
+
rescue StandardError => e
|
117
137
|
@success = false
|
118
138
|
|
119
139
|
if Autobuild.send("pass_#{name}_errors")
|
@@ -136,7 +156,7 @@ module Autobuild
|
|
136
156
|
#
|
137
157
|
# @return [Boolean]
|
138
158
|
def available?
|
139
|
-
@available &&
|
159
|
+
@available && @task && (no_results? || source_dir)
|
140
160
|
end
|
141
161
|
|
142
162
|
# True if this utility should be executed
|
data/lib/autobuild/version.rb
CHANGED
data/lib/autobuild.rb
CHANGED
@@ -17,11 +17,9 @@ require 'etc'
|
|
17
17
|
require 'find'
|
18
18
|
require 'pathname'
|
19
19
|
require 'shellwords'
|
20
|
-
require 'find'
|
21
20
|
require 'rake/tasklib'
|
22
21
|
require 'fileutils'
|
23
22
|
require 'optparse'
|
24
|
-
require 'rake'
|
25
23
|
require 'singleton'
|
26
24
|
require 'pastel'
|
27
25
|
require 'tty-prompt'
|
@@ -43,7 +41,6 @@ require 'autobuild/config'
|
|
43
41
|
require 'autobuild/importer'
|
44
42
|
require 'autobuild/import/cvs'
|
45
43
|
require 'autobuild/import/darcs'
|
46
|
-
require 'autobuild/importer'
|
47
44
|
require 'autobuild/import/git'
|
48
45
|
require 'autobuild/import/hg'
|
49
46
|
require 'autobuild/import/svn'
|
metadata
CHANGED
@@ -1,33 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.22.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Joyeux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: concurrent-ruby
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.7.0
|
19
|
+
version: '1.1'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: pastel
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
26
30
|
requirements:
|
27
31
|
- - "~>"
|
28
32
|
- !ruby/object:Gem::Version
|
29
33
|
version: 0.7.0
|
30
|
-
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
31
39
|
- !ruby/object:Gem::Version
|
32
40
|
version: 0.7.0
|
33
41
|
- !ruby/object:Gem::Dependency
|
@@ -36,62 +44,56 @@ dependencies:
|
|
36
44
|
requirements:
|
37
45
|
- - "~>"
|
38
46
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 12.3.0
|
47
|
+
version: '13.0'
|
43
48
|
type: :runtime
|
44
49
|
prerelease: false
|
45
50
|
version_requirements: !ruby/object:Gem::Requirement
|
46
51
|
requirements:
|
47
52
|
- - "~>"
|
48
53
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 12.3.0
|
54
|
+
version: '13.0'
|
53
55
|
- !ruby/object:Gem::Dependency
|
54
56
|
name: tty-cursor
|
55
57
|
requirement: !ruby/object:Gem::Requirement
|
56
58
|
requirements:
|
57
59
|
- - "~>"
|
58
60
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
61
|
+
version: 0.7.0
|
60
62
|
type: :runtime
|
61
63
|
prerelease: false
|
62
64
|
version_requirements: !ruby/object:Gem::Requirement
|
63
65
|
requirements:
|
64
66
|
- - "~>"
|
65
67
|
- !ruby/object:Gem::Version
|
66
|
-
version: 0.
|
68
|
+
version: 0.7.0
|
67
69
|
- !ruby/object:Gem::Dependency
|
68
70
|
name: tty-prompt
|
69
71
|
requirement: !ruby/object:Gem::Requirement
|
70
72
|
requirements:
|
71
73
|
- - "~>"
|
72
74
|
- !ruby/object:Gem::Version
|
73
|
-
version: 0.
|
75
|
+
version: 0.21.0
|
74
76
|
type: :runtime
|
75
77
|
prerelease: false
|
76
78
|
version_requirements: !ruby/object:Gem::Requirement
|
77
79
|
requirements:
|
78
80
|
- - "~>"
|
79
81
|
- !ruby/object:Gem::Version
|
80
|
-
version: 0.
|
82
|
+
version: 0.21.0
|
81
83
|
- !ruby/object:Gem::Dependency
|
82
84
|
name: tty-screen
|
83
85
|
requirement: !ruby/object:Gem::Requirement
|
84
86
|
requirements:
|
85
87
|
- - "~>"
|
86
88
|
- !ruby/object:Gem::Version
|
87
|
-
version: 0.
|
89
|
+
version: 0.8.0
|
88
90
|
type: :runtime
|
89
91
|
prerelease: false
|
90
92
|
version_requirements: !ruby/object:Gem::Requirement
|
91
93
|
requirements:
|
92
94
|
- - "~>"
|
93
95
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.
|
96
|
+
version: 0.8.0
|
95
97
|
- !ruby/object:Gem::Dependency
|
96
98
|
name: utilrb
|
97
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,6 +182,20 @@ dependencies:
|
|
180
182
|
- - ">="
|
181
183
|
- !ruby/object:Gem::Version
|
182
184
|
version: '0'
|
185
|
+
- !ruby/object:Gem::Dependency
|
186
|
+
name: timecop
|
187
|
+
requirement: !ruby/object:Gem::Requirement
|
188
|
+
requirements:
|
189
|
+
- - ">="
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
type: :development
|
193
|
+
prerelease: false
|
194
|
+
version_requirements: !ruby/object:Gem::Requirement
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
183
199
|
description: Collection of classes to handle build systems (CMake, autotools, ...)
|
184
200
|
and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration
|
185
201
|
to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj)
|
@@ -190,9 +206,10 @@ extensions: []
|
|
190
206
|
extra_rdoc_files: []
|
191
207
|
files:
|
192
208
|
- ".gitattributes"
|
209
|
+
- ".github/workflows/lint.yml"
|
210
|
+
- ".github/workflows/test.yml"
|
193
211
|
- ".gitignore"
|
194
212
|
- ".rubocop.yml"
|
195
|
-
- ".travis.yml"
|
196
213
|
- Changes.txt
|
197
214
|
- Gemfile
|
198
215
|
- Manifest.txt
|
@@ -253,15 +270,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
253
270
|
requirements:
|
254
271
|
- - ">="
|
255
272
|
- !ruby/object:Gem::Version
|
256
|
-
version: 2.
|
273
|
+
version: 2.5.0
|
257
274
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
258
275
|
requirements:
|
259
276
|
- - ">="
|
260
277
|
- !ruby/object:Gem::Version
|
261
278
|
version: '0'
|
262
279
|
requirements: []
|
263
|
-
|
264
|
-
rubygems_version: 2.7.6.2
|
280
|
+
rubygems_version: 3.1.2
|
265
281
|
signing_key:
|
266
282
|
specification_version: 4
|
267
283
|
summary: Library to handle build systems and import mechanisms
|