autoproj 2.10.1 → 2.13.0
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/.rubocop.yml +5 -8
- data/.travis.yml +5 -3
- data/autoproj.gemspec +7 -6
- data/bin/alog +1 -0
- data/bin/autoproj +1 -1
- data/bin/autoproj_bootstrap +149 -86
- data/bin/autoproj_bootstrap.in +9 -7
- data/bin/autoproj_install +148 -82
- data/bin/autoproj_install.in +8 -3
- data/lib/autoproj.rb +3 -0
- data/lib/autoproj/aruba_minitest.rb +15 -0
- data/lib/autoproj/autobuild_extensions/dsl.rb +61 -27
- data/lib/autoproj/base.rb +35 -6
- data/lib/autoproj/cli/base.rb +1 -1
- data/lib/autoproj/cli/build.rb +9 -3
- data/lib/autoproj/cli/cache.rb +79 -7
- data/lib/autoproj/cli/doc.rb +4 -18
- data/lib/autoproj/cli/inspection_tool.rb +5 -6
- data/lib/autoproj/cli/main.rb +41 -18
- data/lib/autoproj/cli/main_doc.rb +86 -0
- data/lib/autoproj/cli/main_plugin.rb +3 -0
- data/lib/autoproj/cli/main_test.rb +15 -0
- data/lib/autoproj/cli/show.rb +12 -18
- data/lib/autoproj/cli/status.rb +15 -9
- data/lib/autoproj/cli/test.rb +13 -84
- data/lib/autoproj/cli/update.rb +77 -19
- data/lib/autoproj/cli/utility.rb +136 -0
- data/lib/autoproj/configuration.rb +28 -4
- data/lib/autoproj/default.osdeps +18 -0
- data/lib/autoproj/installation_manifest.rb +7 -5
- data/lib/autoproj/manifest.rb +15 -21
- data/lib/autoproj/ops/build.rb +23 -27
- data/lib/autoproj/ops/cache.rb +151 -33
- data/lib/autoproj/ops/cached_env.rb +2 -2
- data/lib/autoproj/ops/import.rb +146 -80
- data/lib/autoproj/ops/install.rb +140 -79
- data/lib/autoproj/ops/phase_reporting.rb +49 -0
- data/lib/autoproj/ops/snapshot.rb +2 -1
- data/lib/autoproj/ops/tools.rb +2 -2
- data/lib/autoproj/os_package_installer.rb +19 -11
- data/lib/autoproj/package_definition.rb +29 -10
- data/lib/autoproj/package_managers/apt_dpkg_manager.rb +49 -28
- data/lib/autoproj/package_managers/bundler_manager.rb +257 -87
- data/lib/autoproj/package_managers/homebrew_manager.rb +2 -2
- data/lib/autoproj/package_managers/shell_script_manager.rb +44 -24
- data/lib/autoproj/package_manifest.rb +49 -34
- data/lib/autoproj/package_set.rb +48 -29
- data/lib/autoproj/repository_managers/apt.rb +0 -1
- data/lib/autoproj/test.rb +29 -10
- data/lib/autoproj/variable_expansion.rb +3 -1
- data/lib/autoproj/vcs_definition.rb +30 -15
- data/lib/autoproj/version.rb +1 -1
- data/lib/autoproj/workspace.rb +55 -13
- metadata +32 -28
@@ -143,7 +143,6 @@ def key_exist?(key)
|
|
143
143
|
Open3.popen3({'LANG' => 'C'}, 'apt-key', 'export', key) do |_, _, stderr, wait_thr|
|
144
144
|
success = wait_thr.value.success?
|
145
145
|
stderr = stderr.read
|
146
|
-
puts stderr.inspect
|
147
146
|
has_error = stderr.match(/WARNING: nothing exported/)
|
148
147
|
exist = success && !has_error
|
149
148
|
end
|
data/lib/autoproj/test.rb
CHANGED
@@ -71,6 +71,7 @@ def setup
|
|
71
71
|
Autobuild.logdir = make_tmpdir
|
72
72
|
ws_define_package_manager 'os'
|
73
73
|
ws_define_package_manager 'os_indep'
|
74
|
+
Autobuild.progress_display_period = 0
|
74
75
|
|
75
76
|
super
|
76
77
|
end
|
@@ -80,6 +81,7 @@ def teardown
|
|
80
81
|
@tmpdir.each do |dir|
|
81
82
|
FileUtils.remove_entry_secure dir
|
82
83
|
end
|
84
|
+
Rake::Task.clear
|
83
85
|
Autobuild::Package.clear
|
84
86
|
Autoproj.silent = false
|
85
87
|
|
@@ -94,6 +96,11 @@ def teardown
|
|
94
96
|
end
|
95
97
|
end
|
96
98
|
|
99
|
+
def data_path(*args)
|
100
|
+
File.expand_path(File.join(*args),
|
101
|
+
File.join(__dir__, '..', '..', 'test', 'data'))
|
102
|
+
end
|
103
|
+
|
97
104
|
def create_bootstrap
|
98
105
|
ws_create
|
99
106
|
end
|
@@ -170,7 +177,7 @@ def invoke_test_script(name, *arguments,
|
|
170
177
|
'PACKAGE_BASE_DIR' => package_base_dir,
|
171
178
|
'RUBY' => Gem.ruby
|
172
179
|
]
|
173
|
-
result =
|
180
|
+
result = Autoproj.bundler_unbundled_system(
|
174
181
|
default_env.merge(env), script, *arguments,
|
175
182
|
in: :close, **Hash[chdir: dir].merge(system_options))
|
176
183
|
end
|
@@ -201,7 +208,7 @@ def prepare_fixture_gem_home
|
|
201
208
|
cached_bundler_gem = File.join(vendor, bundler_filename)
|
202
209
|
unless File.file?(cached_bundler_gem)
|
203
210
|
FileUtils.mkdir_p vendor
|
204
|
-
|
211
|
+
Autoproj.bundler_unbundled_system(
|
205
212
|
Ops::Install.guess_gem_program, 'fetch', '-v',
|
206
213
|
Bundler::VERSION, 'bundler', chdir: vendor)
|
207
214
|
|
@@ -211,7 +218,7 @@ def prepare_fixture_gem_home
|
|
211
218
|
end
|
212
219
|
|
213
220
|
capture_subprocess_io do
|
214
|
-
|
221
|
+
Autoproj.bundler_unbundled_system(
|
215
222
|
Hash['GEM_HOME' => fixture_gem_home, 'GEM_PATH' => nil],
|
216
223
|
Ops::Install.guess_gem_program, 'install', '--no-document',
|
217
224
|
cached_bundler_gem)
|
@@ -256,7 +263,7 @@ def capture_deprecation_message
|
|
256
263
|
|
257
264
|
def find_bundled_gem_path(bundler, gem_name, gemfile)
|
258
265
|
out_r, out_w = IO.pipe
|
259
|
-
result =
|
266
|
+
result = Autoproj.bundler_unbundled_system(
|
260
267
|
bundler, 'show', gem_name,
|
261
268
|
out: out_w,
|
262
269
|
chdir: File.dirname(gemfile))
|
@@ -316,6 +323,9 @@ def ws_create(dir = make_tmpdir, partial_config: false)
|
|
316
323
|
ws.config.set 'gems_install_path', File.join(dir, 'gems')
|
317
324
|
ws.prefix_dir = make_tmpdir
|
318
325
|
ws.config.save
|
326
|
+
|
327
|
+
# Make a valid (albeit empty) Gemfile
|
328
|
+
File.open(File.join(ws.dot_autoproj_dir, 'Gemfile'), 'w').close
|
319
329
|
ws
|
320
330
|
end
|
321
331
|
|
@@ -323,8 +333,9 @@ def ws_clear_layout
|
|
323
333
|
ws.manifest.clear_layout
|
324
334
|
end
|
325
335
|
|
326
|
-
def ws_define_package_set(
|
327
|
-
|
336
|
+
def ws_define_package_set(
|
337
|
+
name, vcs = VCSDefinition.from_raw({ type: 'none' }), **options
|
338
|
+
)
|
328
339
|
package_set = PackageSet.new(ws, vcs, name: name, **options)
|
329
340
|
ws.manifest.register_package_set(package_set)
|
330
341
|
package_set
|
@@ -341,8 +352,9 @@ def ws_create_local_package_set(name, path, source_data: Hash.new, **options)
|
|
341
352
|
package_set
|
342
353
|
end
|
343
354
|
|
344
|
-
def ws_add_package_set_to_layout(
|
345
|
-
|
355
|
+
def ws_add_package_set_to_layout(
|
356
|
+
name, vcs = VCSDefinition.from_raw({ type: 'none' }), **options
|
357
|
+
)
|
346
358
|
package_set = ws_define_package_set(name, vcs, **options)
|
347
359
|
ws.manifest.add_package_set_to_layout(package_set)
|
348
360
|
package_set
|
@@ -367,9 +379,16 @@ def ws_add_osdep_entries_to_layout(entries)
|
|
367
379
|
|
368
380
|
def ws_define_package(package_type, package_name,
|
369
381
|
package_set: ws.manifest.main_package_set,
|
370
|
-
create: true)
|
382
|
+
create: true, &block)
|
371
383
|
package = Autobuild.send(package_type, package_name)
|
372
|
-
|
384
|
+
ws_setup_package(
|
385
|
+
package, package_set: package_set, create: create, &block
|
386
|
+
)
|
387
|
+
end
|
388
|
+
|
389
|
+
def ws_setup_package(package, package_set: ws.manifest.main_package_set,
|
390
|
+
create: true)
|
391
|
+
package.srcdir = File.join(ws.root_dir, package.name.to_s)
|
373
392
|
FileUtils.mkdir_p package.srcdir if create
|
374
393
|
autoproj_package = ws.register_package(package, nil, package_set)
|
375
394
|
yield(package) if block_given?
|
@@ -80,7 +80,9 @@ def self.expand(value, definitions = Hash.new)
|
|
80
80
|
end
|
81
81
|
|
82
82
|
# True if the given string contains expansions
|
83
|
-
def self.contains_expansion?(string)
|
83
|
+
def self.contains_expansion?(string)
|
84
|
+
string.respond_to?(:to_str) && string.to_str =~ /\$/
|
85
|
+
end
|
84
86
|
|
85
87
|
def self.resolve_one_constant(name, value, result, definitions)
|
86
88
|
result[name] ||= single_expansion(value, result) do |missing_name|
|
@@ -33,7 +33,7 @@ class VCSDefinition
|
|
33
33
|
HistoryEntry = Struct.new :package_set, :vcs
|
34
34
|
RawEntry = Struct.new :package_set, :file, :vcs
|
35
35
|
|
36
|
-
def initialize(type, url, vcs_options, from: nil, raw:
|
36
|
+
def initialize(type, url, vcs_options, from: nil, raw: [], history: [])
|
37
37
|
if !raw.respond_to?(:to_ary)
|
38
38
|
raise ArgumentError, "wrong format for the raw field (#{raw.inspect})"
|
39
39
|
end
|
@@ -49,7 +49,7 @@ def initialize(type, url, vcs_options, from: nil, raw: Array.new, history: Array
|
|
49
49
|
|
50
50
|
# Create a null VCS object
|
51
51
|
def self.none
|
52
|
-
from_raw(type: 'none')
|
52
|
+
from_raw({ type: 'none' })
|
53
53
|
end
|
54
54
|
|
55
55
|
# Whether there is actually a version control definition
|
@@ -113,6 +113,8 @@ def self.update_raw_vcs_spec(old, new)
|
|
113
113
|
#
|
114
114
|
# - package_name
|
115
115
|
# branch: value
|
116
|
+
#
|
117
|
+
# @raise ArgumentError if the given spec cannot be normalized
|
116
118
|
def self.normalize_vcs_hash(spec, base_dir: nil)
|
117
119
|
plain = Array.new
|
118
120
|
filtered_spec = Hash.new
|
@@ -130,7 +132,7 @@ def self.normalize_vcs_hash(spec, base_dir: nil)
|
|
130
132
|
end
|
131
133
|
|
132
134
|
if plain.size > 1
|
133
|
-
raise
|
135
|
+
raise ArgumentError, "invalid syntax"
|
134
136
|
elsif plain.size == 1
|
135
137
|
short_url = plain.first
|
136
138
|
vcs, *url = short_url.split(':')
|
@@ -149,10 +151,14 @@ def self.normalize_vcs_hash(spec, base_dir: nil)
|
|
149
151
|
elsif base_dir
|
150
152
|
File.expand_path(short_url, base_dir)
|
151
153
|
else
|
152
|
-
raise ArgumentError,
|
154
|
+
raise ArgumentError,
|
155
|
+
"VCS path '#{short_url}' is relative and no "\
|
156
|
+
"base_dir was given"
|
153
157
|
end
|
154
158
|
if !File.directory?(source_dir)
|
155
|
-
raise ArgumentError,
|
159
|
+
raise ArgumentError,
|
160
|
+
"'#{short_url}' is neither a remote source "\
|
161
|
+
'specification, nor an existing local directory'
|
156
162
|
end
|
157
163
|
spec.merge!(type: 'local', url: source_dir)
|
158
164
|
end
|
@@ -193,17 +199,26 @@ def self.raw_spec_to_s(spec)
|
|
193
199
|
# @return [VCSDefinition]
|
194
200
|
# @raise ArgumentError if the raw specification does not match an
|
195
201
|
# expected format
|
196
|
-
def self.from_raw(spec, from: nil, raw:
|
202
|
+
def self.from_raw(spec, from: nil, raw: [], history: [])
|
197
203
|
normalized_spec = normalize_vcs_hash(spec)
|
198
204
|
if !(type = normalized_spec.delete(:type))
|
199
|
-
raise ArgumentError,
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
end
|
205
|
+
raise ArgumentError,
|
206
|
+
"the source specification #{raw_spec_to_s(spec)} normalizes "\
|
207
|
+
"into #{raw_spec_to_s(normalized_spec)}, "\
|
208
|
+
'which does not have a VCS type'
|
204
209
|
end
|
205
210
|
|
206
|
-
|
211
|
+
if !(url = normalized_spec.delete(:url)) && type != 'none'
|
212
|
+
raise ArgumentError,
|
213
|
+
"the source specification #{raw_spec_to_s(spec)} normalizes "\
|
214
|
+
"into #{raw_spec_to_s(normalized_spec)}, "\
|
215
|
+
'which does not have a URL. '\
|
216
|
+
'Only VCS of type \'none\' do not require one'
|
217
|
+
end
|
218
|
+
|
219
|
+
VCSDefinition.new(
|
220
|
+
type, url, normalized_spec, from: from, history: history, raw: raw
|
221
|
+
)
|
207
222
|
end
|
208
223
|
|
209
224
|
def ==(other_vcs)
|
@@ -274,7 +289,7 @@ def create_autobuild_importer
|
|
274
289
|
end
|
275
290
|
|
276
291
|
# Returns a pretty representation of this VCS definition
|
277
|
-
def to_s
|
292
|
+
def to_s
|
278
293
|
if type == "none"
|
279
294
|
"none"
|
280
295
|
else
|
@@ -305,7 +320,7 @@ def self.call_source_handler(vcs, url, options)
|
|
305
320
|
if !handler
|
306
321
|
raise ArgumentError, "there is no source handler for #{vcs}"
|
307
322
|
else
|
308
|
-
|
323
|
+
handler.call(url, **options)
|
309
324
|
end
|
310
325
|
end
|
311
326
|
|
@@ -326,7 +341,7 @@ def self.call_source_handler(vcs, url, options)
|
|
326
341
|
# - tools/orocos.rb:
|
327
342
|
# github: rock-core/base-types
|
328
343
|
# branch: test
|
329
|
-
#
|
344
|
+
#
|
330
345
|
# @yieldparam [String] url the url given to the handler
|
331
346
|
# @yieldparam [Hash] the rest of the VCS hash
|
332
347
|
# @return [Hash] a VCS hash with the information expanded
|
data/lib/autoproj/version.rb
CHANGED
data/lib/autoproj/workspace.rb
CHANGED
@@ -243,7 +243,16 @@ def overrides_dir
|
|
243
243
|
File.join(config_dir, OVERRIDES_DIR)
|
244
244
|
end
|
245
245
|
|
246
|
-
|
246
|
+
IMPORT_REPORT_BASENAME = "import_report.json".freeze
|
247
|
+
|
248
|
+
# The full path to the update report
|
249
|
+
#
|
250
|
+
# @return [String]
|
251
|
+
def import_report_path
|
252
|
+
File.join(log_dir, IMPORT_REPORT_BASENAME)
|
253
|
+
end
|
254
|
+
|
255
|
+
BUILD_REPORT_BASENAME = "build_report.json".freeze
|
247
256
|
|
248
257
|
# The full path to the build report
|
249
258
|
#
|
@@ -252,6 +261,13 @@ def build_report_path
|
|
252
261
|
File.join(log_dir, BUILD_REPORT_BASENAME)
|
253
262
|
end
|
254
263
|
|
264
|
+
# The full path to the report generated by the given utility
|
265
|
+
#
|
266
|
+
# @return [String]
|
267
|
+
def utility_report_path(name)
|
268
|
+
File.join(log_dir, "#{name}_report.json")
|
269
|
+
end
|
270
|
+
|
255
271
|
# Load the configuration for this workspace from
|
256
272
|
# config_file_path
|
257
273
|
#
|
@@ -266,7 +282,8 @@ def load_config(reconfigure = false)
|
|
266
282
|
if (raw_vcs = config.get('manifest_source', nil))
|
267
283
|
VCSDefinition.from_raw(raw_vcs)
|
268
284
|
else
|
269
|
-
|
285
|
+
local_vcs = { type: 'local', url: config_dir }
|
286
|
+
VCSDefinition.from_raw(local_vcs)
|
270
287
|
end
|
271
288
|
|
272
289
|
if config.source_dir && Pathname.new(config.source_dir).absolute?
|
@@ -290,14 +307,18 @@ def save_config
|
|
290
307
|
def autodetect_operating_system(force: false)
|
291
308
|
if force || !os_package_resolver.operating_system
|
292
309
|
begin
|
293
|
-
Autobuild.progress_start
|
310
|
+
Autobuild.progress_start(
|
311
|
+
:operating_system_autodetection,
|
294
312
|
"autodetecting the operating system"
|
313
|
+
)
|
295
314
|
names, versions = OSPackageResolver.autodetect_operating_system
|
296
315
|
os_package_resolver.operating_system = [names, versions]
|
297
316
|
os_repository_resolver.operating_system = [names, versions]
|
298
|
-
Autobuild.progress
|
317
|
+
Autobuild.progress(
|
318
|
+
:operating_system_autodetection,
|
299
319
|
"operating system: #{(names - ['default']).join(',')} -"\
|
300
320
|
" #{(versions - ['default']).join(',')}"
|
321
|
+
)
|
301
322
|
ensure
|
302
323
|
Autobuild.progress_done :operating_system_autodetection
|
303
324
|
end
|
@@ -354,6 +375,14 @@ def setup
|
|
354
375
|
Autobuild.logdir = log_dir
|
355
376
|
if (cache_dir = config.importer_cache_dir)
|
356
377
|
Autobuild::Importer.default_cache_dirs = cache_dir
|
378
|
+
os_package_installer.each_manager_with_name do |name, manager|
|
379
|
+
next unless manager.respond_to?(:cache_dir=)
|
380
|
+
|
381
|
+
manager_cache_path = File.join(cache_dir, 'package_managers', name)
|
382
|
+
if File.directory?(manager_cache_path)
|
383
|
+
manager.cache_dir = manager_cache_path
|
384
|
+
end
|
385
|
+
end
|
357
386
|
end
|
358
387
|
setup_os_package_installer
|
359
388
|
install_ruby_shims
|
@@ -392,7 +421,7 @@ def rewrite_shims
|
|
392
421
|
gemfile = File.join(dot_autoproj_dir, 'Gemfile')
|
393
422
|
binstubs = File.join(dot_autoproj_dir, 'bin')
|
394
423
|
Ops::Install.rewrite_shims(binstubs, config.ruby_executable,
|
395
|
-
|
424
|
+
root_dir, gemfile, config.gems_gem_home)
|
396
425
|
end
|
397
426
|
|
398
427
|
def update_bundler
|
@@ -400,7 +429,11 @@ def update_bundler
|
|
400
429
|
gem_program = Ops::Install.guess_gem_program
|
401
430
|
install = Ops::Install.new(root_dir)
|
402
431
|
Autoproj.message " updating bundler"
|
403
|
-
install.install_bundler(
|
432
|
+
install.install_bundler(
|
433
|
+
gem_program,
|
434
|
+
version: config.bundler_version,
|
435
|
+
silent: true
|
436
|
+
)
|
404
437
|
end
|
405
438
|
|
406
439
|
def update_autoproj(restart_on_update: true)
|
@@ -414,18 +447,21 @@ def update_autoproj(restart_on_update: true)
|
|
414
447
|
binstubs = File.join(dot_autoproj_dir, 'bin')
|
415
448
|
if restart_on_update
|
416
449
|
old_autoproj_path = PackageManagers::BundlerManager.bundle_gem_path(
|
417
|
-
self, 'autoproj',
|
450
|
+
self, 'autoproj', gemfile: gemfile
|
451
|
+
)
|
418
452
|
end
|
419
453
|
begin
|
420
454
|
Autoproj.message " updating autoproj"
|
421
455
|
PackageManagers::BundlerManager.run_bundler_install(
|
422
|
-
self, gemfile, binstubs: binstubs
|
456
|
+
self, gemfile, binstubs: binstubs
|
457
|
+
)
|
423
458
|
ensure
|
424
459
|
rewrite_shims
|
425
460
|
end
|
426
461
|
if restart_on_update
|
427
462
|
new_autoproj_path = PackageManagers::BundlerManager.bundle_gem_path(
|
428
|
-
self, 'autoproj',
|
463
|
+
self, 'autoproj', gemfile: gemfile
|
464
|
+
)
|
429
465
|
end
|
430
466
|
|
431
467
|
# First things first, see if we need to update ourselves
|
@@ -570,6 +606,10 @@ def register_workspace
|
|
570
606
|
current_workspaces = Workspace.registered_workspaces
|
571
607
|
existing = current_workspaces.find { |w| w.root_dir == root_dir }
|
572
608
|
if existing
|
609
|
+
if existing.prefix_dir == prefix_dir && existing.build_dir == build_dir
|
610
|
+
return
|
611
|
+
end
|
612
|
+
|
573
613
|
existing.prefix_dir = prefix_dir
|
574
614
|
existing.build_dir = build_dir
|
575
615
|
else
|
@@ -787,10 +827,12 @@ def all_os_packages(import_missing: false, parallel: config.parallel_import_leve
|
|
787
827
|
if import_missing
|
788
828
|
ops = Autoproj::Ops::Import.new(self)
|
789
829
|
_, all_os_packages =
|
790
|
-
ops.import_packages(
|
791
|
-
|
792
|
-
|
793
|
-
|
830
|
+
ops.import_packages(
|
831
|
+
manifest.default_packages,
|
832
|
+
checkout_only: true, only_local: true, reset: false,
|
833
|
+
recursive: true, keep_going: true, parallel: parallel,
|
834
|
+
retry_count: 0
|
835
|
+
)
|
794
836
|
all_os_packages
|
795
837
|
else
|
796
838
|
manifest.all_selected_osdep_packages
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autoproj
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.13.0
|
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: 2020-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.21.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.21.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: backports
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,82 +78,70 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
81
|
+
version: '1.0'
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
88
|
+
version: '1.0'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: concurrent-ruby
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.
|
96
|
-
- - ">="
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: 1.0.0
|
95
|
+
version: '1.1'
|
99
96
|
type: :runtime
|
100
97
|
prerelease: false
|
101
98
|
version_requirements: !ruby/object:Gem::Requirement
|
102
99
|
requirements:
|
103
100
|
- - "~>"
|
104
101
|
- !ruby/object:Gem::Version
|
105
|
-
version: 1.
|
106
|
-
- - ">="
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: 1.0.0
|
102
|
+
version: '1.1'
|
109
103
|
- !ruby/object:Gem::Dependency
|
110
104
|
name: tty-color
|
111
105
|
requirement: !ruby/object:Gem::Requirement
|
112
106
|
requirements:
|
113
107
|
- - "~>"
|
114
108
|
- !ruby/object:Gem::Version
|
115
|
-
version: 0.
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 0.4.0
|
109
|
+
version: 0.5.0
|
119
110
|
type: :runtime
|
120
111
|
prerelease: false
|
121
112
|
version_requirements: !ruby/object:Gem::Requirement
|
122
113
|
requirements:
|
123
114
|
- - "~>"
|
124
115
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.
|
126
|
-
- - ">="
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: 0.4.0
|
116
|
+
version: 0.5.0
|
129
117
|
- !ruby/object:Gem::Dependency
|
130
118
|
name: tty-prompt
|
131
119
|
requirement: !ruby/object:Gem::Requirement
|
132
120
|
requirements:
|
133
121
|
- - "~>"
|
134
122
|
- !ruby/object:Gem::Version
|
135
|
-
version: 0.
|
123
|
+
version: 0.21.0
|
136
124
|
type: :runtime
|
137
125
|
prerelease: false
|
138
126
|
version_requirements: !ruby/object:Gem::Requirement
|
139
127
|
requirements:
|
140
128
|
- - "~>"
|
141
129
|
- !ruby/object:Gem::Version
|
142
|
-
version: 0.
|
130
|
+
version: 0.21.0
|
143
131
|
- !ruby/object:Gem::Dependency
|
144
132
|
name: tty-spinner
|
145
133
|
requirement: !ruby/object:Gem::Requirement
|
146
134
|
requirements:
|
147
135
|
- - "~>"
|
148
136
|
- !ruby/object:Gem::Version
|
149
|
-
version: 0.
|
137
|
+
version: 0.9.0
|
150
138
|
type: :runtime
|
151
139
|
prerelease: false
|
152
140
|
version_requirements: !ruby/object:Gem::Requirement
|
153
141
|
requirements:
|
154
142
|
- - "~>"
|
155
143
|
- !ruby/object:Gem::Version
|
156
|
-
version: 0.
|
144
|
+
version: 0.9.0
|
157
145
|
- !ruby/object:Gem::Dependency
|
158
146
|
name: rb-inotify
|
159
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -264,6 +252,20 @@ dependencies:
|
|
264
252
|
- - ">="
|
265
253
|
- !ruby/object:Gem::Version
|
266
254
|
version: '0'
|
255
|
+
- !ruby/object:Gem::Dependency
|
256
|
+
name: timecop
|
257
|
+
requirement: !ruby/object:Gem::Requirement
|
258
|
+
requirements:
|
259
|
+
- - ">="
|
260
|
+
- !ruby/object:Gem::Version
|
261
|
+
version: '0'
|
262
|
+
type: :development
|
263
|
+
prerelease: false
|
264
|
+
version_requirements: !ruby/object:Gem::Requirement
|
265
|
+
requirements:
|
266
|
+
- - ">="
|
267
|
+
- !ruby/object:Gem::Version
|
268
|
+
version: '0'
|
267
269
|
description: autoproj is a manager for sets of software packages. It allows the user
|
268
270
|
to import and build packages from source, still using the underlying distribution's
|
269
271
|
native package manager for software that is available on it.
|
@@ -321,6 +323,7 @@ files:
|
|
321
323
|
- lib/autoproj/cli/locate.rb
|
322
324
|
- lib/autoproj/cli/log.rb
|
323
325
|
- lib/autoproj/cli/main.rb
|
326
|
+
- lib/autoproj/cli/main_doc.rb
|
324
327
|
- lib/autoproj/cli/main_global.rb
|
325
328
|
- lib/autoproj/cli/main_plugin.rb
|
326
329
|
- lib/autoproj/cli/main_test.rb
|
@@ -336,6 +339,7 @@ files:
|
|
336
339
|
- lib/autoproj/cli/tag.rb
|
337
340
|
- lib/autoproj/cli/test.rb
|
338
341
|
- lib/autoproj/cli/update.rb
|
342
|
+
- lib/autoproj/cli/utility.rb
|
339
343
|
- lib/autoproj/cli/version.rb
|
340
344
|
- lib/autoproj/cli/versions.rb
|
341
345
|
- lib/autoproj/cli/watch.rb
|
@@ -360,6 +364,7 @@ files:
|
|
360
364
|
- lib/autoproj/ops/install.rb
|
361
365
|
- lib/autoproj/ops/loader.rb
|
362
366
|
- lib/autoproj/ops/main_config_switcher.rb
|
367
|
+
- lib/autoproj/ops/phase_reporting.rb
|
363
368
|
- lib/autoproj/ops/snapshot.rb
|
364
369
|
- lib/autoproj/ops/tools.rb
|
365
370
|
- lib/autoproj/ops/watch.rb
|
@@ -449,8 +454,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
449
454
|
- !ruby/object:Gem::Version
|
450
455
|
version: '0'
|
451
456
|
requirements: []
|
452
|
-
|
453
|
-
rubygems_version: 2.7.6.2
|
457
|
+
rubygems_version: 3.1.2
|
454
458
|
signing_key:
|
455
459
|
specification_version: 4
|
456
460
|
summary: Easy installation and management of sets of software packages
|