autoproj 2.11.0 → 2.14.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 +6 -6
- data/bin/alog +1 -0
- data/bin/autoproj +1 -1
- data/bin/autoproj_bootstrap +130 -67
- data/bin/autoproj_bootstrap.in +9 -7
- data/bin/autoproj_install +129 -63
- data/bin/autoproj_install.in +8 -3
- data/lib/autoproj/autobuild_extensions/dsl.rb +27 -12
- data/lib/autoproj/base.rb +18 -0
- data/lib/autoproj/cli/base.rb +1 -1
- data/lib/autoproj/cli/build.rb +8 -3
- data/lib/autoproj/cli/cache.rb +79 -7
- data/lib/autoproj/cli/inspection_tool.rb +5 -6
- data/lib/autoproj/cli/main.rb +33 -9
- data/lib/autoproj/cli/show.rb +12 -18
- data/lib/autoproj/cli/status.rb +15 -9
- data/lib/autoproj/cli/test.rb +1 -1
- data/lib/autoproj/cli/update.rb +72 -17
- data/lib/autoproj/cli/utility.rb +25 -28
- data/lib/autoproj/configuration.rb +15 -4
- data/lib/autoproj/default.osdeps +29 -3
- data/lib/autoproj/environment.rb +17 -13
- data/lib/autoproj/installation_manifest.rb +7 -5
- data/lib/autoproj/manifest.rb +14 -6
- data/lib/autoproj/ops/build.rb +23 -21
- data/lib/autoproj/ops/cache.rb +151 -33
- data/lib/autoproj/ops/cached_env.rb +2 -2
- data/lib/autoproj/ops/import.rb +23 -4
- data/lib/autoproj/ops/install.rb +121 -60
- 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 +1 -1
- data/lib/autoproj/package_managers/apt_dpkg_manager.rb +49 -28
- data/lib/autoproj/package_managers/bundler_manager.rb +102 -19
- data/lib/autoproj/package_managers/homebrew_manager.rb +2 -2
- data/lib/autoproj/package_managers/pip_manager.rb +34 -22
- data/lib/autoproj/package_managers/shell_script_manager.rb +44 -24
- data/lib/autoproj/package_manifest.rb +43 -31
- data/lib/autoproj/package_set.rb +2 -2
- data/lib/autoproj/python.rb +285 -0
- data/lib/autoproj/test.rb +26 -10
- data/lib/autoproj/variable_expansion.rb +3 -1
- data/lib/autoproj/vcs_definition.rb +25 -12
- data/lib/autoproj/version.rb +1 -1
- data/lib/autoproj/workspace.rb +60 -16
- data/lib/autoproj.rb +3 -0
- metadata +17 -28
data/lib/autoproj/version.rb
CHANGED
data/lib/autoproj/workspace.rb
CHANGED
@@ -243,7 +243,7 @@ module Autoproj
|
|
243
243
|
File.join(config_dir, OVERRIDES_DIR)
|
244
244
|
end
|
245
245
|
|
246
|
-
IMPORT_REPORT_BASENAME = "import_report.json"
|
246
|
+
IMPORT_REPORT_BASENAME = "import_report.json".freeze
|
247
247
|
|
248
248
|
# The full path to the update report
|
249
249
|
#
|
@@ -252,7 +252,7 @@ module Autoproj
|
|
252
252
|
File.join(log_dir, IMPORT_REPORT_BASENAME)
|
253
253
|
end
|
254
254
|
|
255
|
-
BUILD_REPORT_BASENAME = "build_report.json"
|
255
|
+
BUILD_REPORT_BASENAME = "build_report.json".freeze
|
256
256
|
|
257
257
|
# The full path to the build report
|
258
258
|
#
|
@@ -282,7 +282,8 @@ module Autoproj
|
|
282
282
|
if (raw_vcs = config.get('manifest_source', nil))
|
283
283
|
VCSDefinition.from_raw(raw_vcs)
|
284
284
|
else
|
285
|
-
|
285
|
+
local_vcs = { type: 'local', url: config_dir }
|
286
|
+
VCSDefinition.from_raw(local_vcs)
|
286
287
|
end
|
287
288
|
|
288
289
|
if config.source_dir && Pathname.new(config.source_dir).absolute?
|
@@ -306,14 +307,18 @@ module Autoproj
|
|
306
307
|
def autodetect_operating_system(force: false)
|
307
308
|
if force || !os_package_resolver.operating_system
|
308
309
|
begin
|
309
|
-
Autobuild.progress_start
|
310
|
+
Autobuild.progress_start(
|
311
|
+
:operating_system_autodetection,
|
310
312
|
"autodetecting the operating system"
|
313
|
+
)
|
311
314
|
names, versions = OSPackageResolver.autodetect_operating_system
|
312
315
|
os_package_resolver.operating_system = [names, versions]
|
313
316
|
os_repository_resolver.operating_system = [names, versions]
|
314
|
-
Autobuild.progress
|
317
|
+
Autobuild.progress(
|
318
|
+
:operating_system_autodetection,
|
315
319
|
"operating system: #{(names - ['default']).join(',')} -"\
|
316
320
|
" #{(versions - ['default']).join(',')}"
|
321
|
+
)
|
317
322
|
ensure
|
318
323
|
Autobuild.progress_done :operating_system_autodetection
|
319
324
|
end
|
@@ -343,7 +348,11 @@ module Autoproj
|
|
343
348
|
osdep_suffixes << ruby_version_keyword
|
344
349
|
end
|
345
350
|
|
346
|
-
|
351
|
+
# Perform initial configuration load and workspace setup
|
352
|
+
#
|
353
|
+
# @param [Boolean] load_global_configuration if true, load the global
|
354
|
+
# autoprojrc file if it exists. Otherwise, ignore it.
|
355
|
+
def setup(load_global_configuration: true)
|
347
356
|
setup_ruby_version_handling
|
348
357
|
migrate_bundler_and_autoproj_gem_layout
|
349
358
|
load_config
|
@@ -353,7 +362,7 @@ module Autoproj
|
|
353
362
|
config.validate_ruby_executable
|
354
363
|
Autobuild.programs['ruby'] = config.ruby_executable
|
355
364
|
config.apply_autobuild_configuration
|
356
|
-
load_autoprojrc
|
365
|
+
load_autoprojrc if load_global_configuration
|
357
366
|
load_main_initrb
|
358
367
|
config.each_reused_autoproj_installation do |p|
|
359
368
|
manifest.reuse(p)
|
@@ -370,6 +379,14 @@ module Autoproj
|
|
370
379
|
Autobuild.logdir = log_dir
|
371
380
|
if (cache_dir = config.importer_cache_dir)
|
372
381
|
Autobuild::Importer.default_cache_dirs = cache_dir
|
382
|
+
os_package_installer.each_manager_with_name do |name, manager|
|
383
|
+
next unless manager.respond_to?(:cache_dir=)
|
384
|
+
|
385
|
+
manager_cache_path = File.join(cache_dir, 'package_managers', name)
|
386
|
+
if File.directory?(manager_cache_path)
|
387
|
+
manager.cache_dir = manager_cache_path
|
388
|
+
end
|
389
|
+
end
|
373
390
|
end
|
374
391
|
setup_os_package_installer
|
375
392
|
install_ruby_shims
|
@@ -408,7 +425,7 @@ module Autoproj
|
|
408
425
|
gemfile = File.join(dot_autoproj_dir, 'Gemfile')
|
409
426
|
binstubs = File.join(dot_autoproj_dir, 'bin')
|
410
427
|
Ops::Install.rewrite_shims(binstubs, config.ruby_executable,
|
411
|
-
|
428
|
+
root_dir, gemfile, config.gems_gem_home)
|
412
429
|
end
|
413
430
|
|
414
431
|
def update_bundler
|
@@ -416,7 +433,11 @@ module Autoproj
|
|
416
433
|
gem_program = Ops::Install.guess_gem_program
|
417
434
|
install = Ops::Install.new(root_dir)
|
418
435
|
Autoproj.message " updating bundler"
|
419
|
-
install.install_bundler(
|
436
|
+
install.install_bundler(
|
437
|
+
gem_program,
|
438
|
+
version: config.bundler_version,
|
439
|
+
silent: true
|
440
|
+
)
|
420
441
|
end
|
421
442
|
|
422
443
|
def update_autoproj(restart_on_update: true)
|
@@ -430,18 +451,21 @@ module Autoproj
|
|
430
451
|
binstubs = File.join(dot_autoproj_dir, 'bin')
|
431
452
|
if restart_on_update
|
432
453
|
old_autoproj_path = PackageManagers::BundlerManager.bundle_gem_path(
|
433
|
-
self, 'autoproj',
|
454
|
+
self, 'autoproj', gemfile: gemfile
|
455
|
+
)
|
434
456
|
end
|
435
457
|
begin
|
436
458
|
Autoproj.message " updating autoproj"
|
437
459
|
PackageManagers::BundlerManager.run_bundler_install(
|
438
|
-
self, gemfile, binstubs: binstubs
|
460
|
+
self, gemfile, binstubs: binstubs
|
461
|
+
)
|
439
462
|
ensure
|
440
463
|
rewrite_shims
|
441
464
|
end
|
442
465
|
if restart_on_update
|
443
466
|
new_autoproj_path = PackageManagers::BundlerManager.bundle_gem_path(
|
444
|
-
self, 'autoproj',
|
467
|
+
self, 'autoproj', gemfile: gemfile
|
468
|
+
)
|
445
469
|
end
|
446
470
|
|
447
471
|
# First things first, see if we need to update ourselves
|
@@ -586,6 +610,10 @@ module Autoproj
|
|
586
610
|
current_workspaces = Workspace.registered_workspaces
|
587
611
|
existing = current_workspaces.find { |w| w.root_dir == root_dir }
|
588
612
|
if existing
|
613
|
+
if existing.prefix_dir == prefix_dir && existing.build_dir == build_dir
|
614
|
+
return
|
615
|
+
end
|
616
|
+
|
589
617
|
existing.prefix_dir = prefix_dir
|
590
618
|
existing.build_dir = build_dir
|
591
619
|
else
|
@@ -779,6 +807,20 @@ module Autoproj
|
|
779
807
|
full_env = self.full_env
|
780
808
|
changed = save_cached_env(full_env)
|
781
809
|
full_env.export_env_sh(shell_helpers: shell_helpers)
|
810
|
+
|
811
|
+
build_dir = Pathname(self.build_dir)
|
812
|
+
full_env.each_env_filename do |_, filename|
|
813
|
+
basename = File.basename(filename)
|
814
|
+
File.open(File.join(prefix_dir, basename), "w") do |io|
|
815
|
+
io.puts "source \"#{filename}\""
|
816
|
+
end
|
817
|
+
if build_dir.absolute?
|
818
|
+
build_dir.mkpath
|
819
|
+
(build_dir + basename).open("w") do |io|
|
820
|
+
io.puts "source \"#{filename}\""
|
821
|
+
end
|
822
|
+
end
|
823
|
+
end
|
782
824
|
changed
|
783
825
|
end
|
784
826
|
|
@@ -803,10 +845,12 @@ module Autoproj
|
|
803
845
|
if import_missing
|
804
846
|
ops = Autoproj::Ops::Import.new(self)
|
805
847
|
_, all_os_packages =
|
806
|
-
ops.import_packages(
|
807
|
-
|
808
|
-
|
809
|
-
|
848
|
+
ops.import_packages(
|
849
|
+
manifest.default_packages,
|
850
|
+
checkout_only: true, only_local: true, reset: false,
|
851
|
+
recursive: true, keep_going: true, parallel: parallel,
|
852
|
+
retry_count: 0
|
853
|
+
)
|
810
854
|
all_os_packages
|
811
855
|
else
|
812
856
|
manifest.all_selected_osdep_packages
|
data/lib/autoproj.rb
CHANGED
@@ -9,6 +9,8 @@ require 'backports/2.4.0/fixnum/dup'
|
|
9
9
|
require 'backports/2.4.0/nil_class/dup'
|
10
10
|
require 'backports/2.4.0/false_class/dup'
|
11
11
|
require 'backports/2.4.0/true_class/dup'
|
12
|
+
require 'backports/2.4.0/hash/transform_values'
|
13
|
+
require 'backports/2.5.0/hash/transform_keys'
|
12
14
|
|
13
15
|
require 'autobuild'
|
14
16
|
require 'autoproj/autobuild'
|
@@ -44,6 +46,7 @@ require 'autoproj/query_base'
|
|
44
46
|
require 'autoproj/source_package_query'
|
45
47
|
require 'autoproj/os_package_query'
|
46
48
|
|
49
|
+
require 'autoproj/ops/phase_reporting'
|
47
50
|
require 'autoproj/ops/install'
|
48
51
|
require 'autoproj/ops/tools'
|
49
52
|
require 'autoproj/ops/loader'
|
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.14.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: 2021-09-08 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
|
@@ -376,6 +364,7 @@ files:
|
|
376
364
|
- lib/autoproj/ops/install.rb
|
377
365
|
- lib/autoproj/ops/loader.rb
|
378
366
|
- lib/autoproj/ops/main_config_switcher.rb
|
367
|
+
- lib/autoproj/ops/phase_reporting.rb
|
379
368
|
- lib/autoproj/ops/snapshot.rb
|
380
369
|
- lib/autoproj/ops/tools.rb
|
381
370
|
- lib/autoproj/ops/watch.rb
|
@@ -405,6 +394,7 @@ files:
|
|
405
394
|
- lib/autoproj/package_manifest.rb
|
406
395
|
- lib/autoproj/package_selection.rb
|
407
396
|
- lib/autoproj/package_set.rb
|
397
|
+
- lib/autoproj/python.rb
|
408
398
|
- lib/autoproj/query_base.rb
|
409
399
|
- lib/autoproj/reporter.rb
|
410
400
|
- lib/autoproj/repository_managers/apt.rb
|
@@ -465,8 +455,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
465
455
|
- !ruby/object:Gem::Version
|
466
456
|
version: '0'
|
467
457
|
requirements: []
|
468
|
-
|
469
|
-
rubygems_version: 2.7.6.2
|
458
|
+
rubygems_version: 3.1.2
|
470
459
|
signing_key:
|
471
460
|
specification_version: 4
|
472
461
|
summary: Easy installation and management of sets of software packages
|