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/bin/autoproj_bootstrap.in
CHANGED
@@ -13,12 +13,14 @@ require 'autoproj/ops/install'
|
|
13
13
|
ENV.delete('BUNDLE_GEMFILE')
|
14
14
|
ENV.delete('RUBYLIB')
|
15
15
|
ops = Autoproj::Ops::Install.new(Dir.pwd)
|
16
|
+
|
17
|
+
existing_config = File.join(Dir.pwd, '.autoproj', 'config.yml')
|
18
|
+
if File.file?(existing_config)
|
19
|
+
puts "Found existing configuration, using it as seed"
|
20
|
+
puts "use --no-seed-config to avoid this behavior"
|
21
|
+
ops.add_seed_config(existing_config)
|
22
|
+
end
|
16
23
|
bootstrap_options = ops.parse_options(ARGV)
|
17
24
|
ops.stage1
|
18
|
-
|
19
|
-
|
20
|
-
end
|
21
|
-
if !ops.run_autoproj 'bootstrap', *bootstrap_options
|
22
|
-
exit 1
|
23
|
-
end
|
24
|
-
|
25
|
+
ops.call_stage2 unless ops.skip_stage2?
|
26
|
+
exit 1 unless ops.run_autoproj('bootstrap', *bootstrap_options)
|
data/bin/autoproj_install
CHANGED
@@ -8,10 +8,13 @@ elsif ENV['AUTOPROJ_CURRENT_ROOT'] && (ENV['AUTOPROJ_CURRENT_ROOT'] != Dir.pwd)
|
|
8
8
|
exit 1
|
9
9
|
end
|
10
10
|
|
11
|
+
# frozen_string_literal: true
|
12
|
+
|
11
13
|
require 'pathname'
|
12
14
|
require 'optparse'
|
13
15
|
require 'fileutils'
|
14
16
|
require 'yaml'
|
17
|
+
require 'English'
|
15
18
|
|
16
19
|
module Autoproj
|
17
20
|
module Ops
|
@@ -23,6 +26,36 @@ module Autoproj
|
|
23
26
|
class Install
|
24
27
|
class UnexpectedBinstub < RuntimeError; end
|
25
28
|
|
29
|
+
RUBYLIB_REINIT = <<~RUBY
|
30
|
+
if defined?(Bundler)
|
31
|
+
if Bundler.respond_to?(:with_unbundled_env)
|
32
|
+
Bundler.with_unbundled_env do
|
33
|
+
exec(Hash['RUBYLIB' => nil], $0, *ARGV)
|
34
|
+
end
|
35
|
+
else
|
36
|
+
Bundler.with_clean_env do
|
37
|
+
exec(Hash['RUBYLIB' => nil], $0, *ARGV)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
elsif ENV['RUBYLIB']
|
41
|
+
exec(Hash['RUBYLIB' => nil], $0, *ARGV)
|
42
|
+
end
|
43
|
+
RUBY
|
44
|
+
|
45
|
+
WITHOUT_BUNDLER = <<~RUBY
|
46
|
+
if defined?(Bundler)
|
47
|
+
if Bundler.respond_to?(:with_unbundled_env)
|
48
|
+
Bundler.with_unbundled_env do
|
49
|
+
exec($0, *ARGV)
|
50
|
+
end
|
51
|
+
else
|
52
|
+
Bundler.with_clean_env do
|
53
|
+
exec($0, *ARGV)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
RUBY
|
58
|
+
|
26
59
|
# The created workspace's root directory
|
27
60
|
attr_reader :root_dir
|
28
61
|
# Content of the Gemfile generated to install autoproj itself
|
@@ -230,6 +263,10 @@ module Autoproj
|
|
230
263
|
"gem \"utilrb\", \">= 3.0.1\""].join("\n")
|
231
264
|
end
|
232
265
|
|
266
|
+
def add_seed_config(path)
|
267
|
+
@config.merge!(YAML.safe_load(File.read(path), [Symbol]))
|
268
|
+
end
|
269
|
+
|
233
270
|
# Parse the provided command line options and returns the non-options
|
234
271
|
def parse_options(args = ARGV)
|
235
272
|
options = OptionParser.new do |opt|
|
@@ -253,6 +290,10 @@ module Autoproj
|
|
253
290
|
opt.on '--public-gems', "install gems in the default gem location" do
|
254
291
|
self.install_gems_in_gem_user_dir
|
255
292
|
end
|
293
|
+
opt.on '--bundler-version=VERSION_CONSTRAINT', String, 'use the provided '\
|
294
|
+
'string as a version constraint for bundler' do |version|
|
295
|
+
@config['bundler_version'] = version
|
296
|
+
end
|
256
297
|
opt.on '--version=VERSION_CONSTRAINT', String, 'use the provided '\
|
257
298
|
'string as a version constraint for autoproj' do |version|
|
258
299
|
if @gemfile
|
@@ -267,9 +308,14 @@ module Autoproj
|
|
267
308
|
end
|
268
309
|
@gemfile = File.read(path)
|
269
310
|
end
|
311
|
+
opt.on '--no-seed-config',
|
312
|
+
'when reinstalling an existing autoproj workspace, do not '\
|
313
|
+
'use the config in .autoproj/ as seed' do
|
314
|
+
@config.clear
|
315
|
+
end
|
270
316
|
opt.on '--seed-config=PATH', String, 'path to a seed file that '\
|
271
317
|
'should be used to initialize the configuration' do |path|
|
272
|
-
|
318
|
+
add_seed_config(path)
|
273
319
|
end
|
274
320
|
opt.on '--prefer-os-independent-packages', 'prefer OS-independent '\
|
275
321
|
'packages (such as a RubyGem) over their OS-packaged equivalent '\
|
@@ -299,22 +345,50 @@ module Autoproj
|
|
299
345
|
@autoproj_options + args
|
300
346
|
end
|
301
347
|
|
302
|
-
def
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
return unless $?.success?
|
348
|
+
def bundler_version
|
349
|
+
@config['bundler_version']
|
350
|
+
end
|
351
|
+
|
352
|
+
def find_bundler(gem_program, version: nil)
|
308
353
|
bundler_path = File.join(gems_gem_home, 'bin', 'bundle')
|
309
|
-
|
310
|
-
|
311
|
-
|
354
|
+
return unless File.exist?(bundler_path)
|
355
|
+
|
356
|
+
setup_paths =
|
357
|
+
if version
|
358
|
+
find_versioned_bundler_setup(gem_program, version)
|
359
|
+
else
|
360
|
+
find_unversioned_bundler_setup(gem_program)
|
312
361
|
end
|
362
|
+
|
363
|
+
setup_paths.each do |setup_path|
|
364
|
+
return bundler_path if setup_path.start_with?(gems_gem_home)
|
313
365
|
end
|
314
|
-
|
366
|
+
nil
|
367
|
+
end
|
368
|
+
|
369
|
+
def find_versioned_bundler_setup(gem_program, version)
|
370
|
+
contents = IO.popen(
|
371
|
+
[env_for_child, Gem.ruby, gem_program,
|
372
|
+
'contents', '-v', version, 'bundler'],
|
373
|
+
&:readlines
|
374
|
+
)
|
375
|
+
return [] unless $CHILD_STATUS.success?
|
376
|
+
|
377
|
+
contents.grep(%r{bundler/setup.rb$})
|
378
|
+
end
|
379
|
+
|
380
|
+
def find_unversioned_bundler_setup(gem_program)
|
381
|
+
setup_paths = IO.popen(
|
382
|
+
[env_for_child, Gem.ruby, gem_program,
|
383
|
+
'which', '-a', 'bundler/setup'],
|
384
|
+
&:readlines
|
385
|
+
)
|
386
|
+
return [] unless $CHILD_STATUS.success?
|
387
|
+
|
388
|
+
setup_paths
|
315
389
|
end
|
316
390
|
|
317
|
-
def install_bundler(gem_program, silent: false)
|
391
|
+
def install_bundler(gem_program, version: nil, silent: false)
|
318
392
|
local = ['--local'] if local?
|
319
393
|
|
320
394
|
redirection = Hash.new
|
@@ -322,6 +396,9 @@ module Autoproj
|
|
322
396
|
redirection = Hash[out: :close]
|
323
397
|
end
|
324
398
|
|
399
|
+
version_args = []
|
400
|
+
version_args << '-v' << version if version
|
401
|
+
|
325
402
|
# Shut up the bundler warning about 'bin' not being in PATH
|
326
403
|
env = self.env
|
327
404
|
env['PATH'] += [File.join(gems_gem_home, 'bin')]
|
@@ -332,14 +409,14 @@ module Autoproj
|
|
332
409
|
'--clear-sources', '--source', gem_source,
|
333
410
|
'--no-user-install', '--install-dir', gems_gem_home,
|
334
411
|
*local, "--bindir=#{File.join(gems_gem_home, 'bin')}",
|
335
|
-
'bundler', **redirection)
|
412
|
+
'bundler', *version_args, **redirection)
|
336
413
|
|
337
414
|
if !result
|
338
415
|
STDERR.puts "FATAL: failed to install bundler in #{gems_gem_home}"
|
339
416
|
nil
|
340
417
|
end
|
341
418
|
|
342
|
-
if (bundler_path = find_bundler(gem_program))
|
419
|
+
if (bundler_path = find_bundler(gem_program, version: version))
|
343
420
|
bundler_path
|
344
421
|
else
|
345
422
|
STDERR.puts "gem install bundler returned successfully, but still "\
|
@@ -348,7 +425,7 @@ module Autoproj
|
|
348
425
|
end
|
349
426
|
end
|
350
427
|
|
351
|
-
def install_autoproj(bundler)
|
428
|
+
def install_autoproj(bundler, bundler_version: self.bundler_version)
|
352
429
|
# Force bundler to update. If the user does not want this, let
|
353
430
|
# him specify a Gemfile with tighter version constraints
|
354
431
|
lockfile = File.join(dot_autoproj, 'Gemfile.lock')
|
@@ -363,14 +440,19 @@ module Autoproj
|
|
363
440
|
opts << "--path=#{gems_install_path}"
|
364
441
|
shims_path = File.join(dot_autoproj, 'bin')
|
365
442
|
|
366
|
-
|
367
|
-
|
368
|
-
"--gemfile=#{autoproj_gemfile_path}",
|
369
|
-
"--shebang=#{Gem.ruby}",
|
370
|
-
"--binstubs=#{shims_path}",
|
371
|
-
*opts, chdir: dot_autoproj)
|
443
|
+
version_arg = []
|
444
|
+
version_arg << "_#{bundler_version}_" if bundler_version
|
372
445
|
|
373
|
-
|
446
|
+
result = system(
|
447
|
+
clean_env,
|
448
|
+
Gem.ruby, bundler, *version_arg, 'install',
|
449
|
+
"--gemfile=#{autoproj_gemfile_path}",
|
450
|
+
"--shebang=#{Gem.ruby}",
|
451
|
+
"--binstubs=#{shims_path}",
|
452
|
+
*opts, chdir: dot_autoproj
|
453
|
+
)
|
454
|
+
|
455
|
+
unless result
|
374
456
|
STDERR.puts "FATAL: failed to install autoproj in #{dot_autoproj}"
|
375
457
|
exit 1
|
376
458
|
end
|
@@ -379,7 +461,7 @@ module Autoproj
|
|
379
461
|
root_dir, autoproj_gemfile_path, gems_gem_home)
|
380
462
|
end
|
381
463
|
|
382
|
-
EXCLUDED_FROM_SHIMS = %w
|
464
|
+
EXCLUDED_FROM_SHIMS = %w[rake thor].freeze
|
383
465
|
|
384
466
|
def self.rewrite_shims(shim_path, ruby_executable,
|
385
467
|
root_dir, autoproj_gemfile_path, gems_gem_home)
|
@@ -435,11 +517,7 @@ module Autoproj
|
|
435
517
|
#
|
436
518
|
|
437
519
|
# Autoproj generated preamble
|
438
|
-
|
439
|
-
Bundler.with_clean_env do
|
440
|
-
exec($0, *ARGV)
|
441
|
-
end
|
442
|
-
end
|
520
|
+
#{WITHOUT_BUNDLER}
|
443
521
|
ENV['BUNDLE_GEMFILE'] ||= '#{autoproj_gemfile_path}'
|
444
522
|
ENV['GEM_HOME'] = '#{gems_gem_home}'
|
445
523
|
ENV.delete('GEM_PATH')
|
@@ -451,12 +529,7 @@ Gem.paths = Hash['GEM_HOME' => '#{gems_gem_home}', 'GEM_PATH' => '']
|
|
451
529
|
def self.shim_bundler_old(ruby_executable, autoproj_gemfile_path, gems_gem_home)
|
452
530
|
"#! #{ruby_executable}
|
453
531
|
|
454
|
-
|
455
|
-
Bundler.with_clean_env do
|
456
|
-
exec($0, *ARGV)
|
457
|
-
end
|
458
|
-
end
|
459
|
-
|
532
|
+
#{WITHOUT_BUNDLER}
|
460
533
|
ENV['BUNDLE_GEMFILE'] ||= '#{autoproj_gemfile_path}'
|
461
534
|
ENV['GEM_HOME'] = '#{gems_gem_home}'
|
462
535
|
ENV.delete('GEM_PATH')
|
@@ -481,14 +554,7 @@ load Gem.bin_path('bundler', 'bundler')"
|
|
481
554
|
#
|
482
555
|
|
483
556
|
# Autoproj generated preamble, v1
|
484
|
-
|
485
|
-
Bundler.with_clean_env do
|
486
|
-
exec(Hash['RUBYLIB' => nil], $0, *ARGV)
|
487
|
-
end
|
488
|
-
elsif ENV['RUBYLIB']
|
489
|
-
exec(Hash['RUBYLIB' => nil], $0, *ARGV)
|
490
|
-
end
|
491
|
-
|
557
|
+
#{RUBYLIB_REINIT}
|
492
558
|
ENV['BUNDLE_GEMFILE'] = '#{autoproj_gemfile_path}'
|
493
559
|
ENV['AUTOPROJ_CURRENT_ROOT'] = '#{root_dir}'
|
494
560
|
Gem.paths = Hash['GEM_HOME' => '#{gems_gem_home}', 'GEM_PATH' => '']
|
@@ -500,14 +566,7 @@ Gem.paths = Hash['GEM_HOME' => '#{gems_gem_home}', 'GEM_PATH' => '']
|
|
500
566
|
gems_gem_home, load_line)
|
501
567
|
"#! #{ruby_executable}
|
502
568
|
|
503
|
-
|
504
|
-
Bundler.with_clean_env do
|
505
|
-
exec(Hash['RUBYLIB' => nil], $0, *ARGV)
|
506
|
-
end
|
507
|
-
elsif ENV['RUBYLIB']
|
508
|
-
exec(Hash['RUBYLIB' => nil], $0, *ARGV)
|
509
|
-
end
|
510
|
-
|
569
|
+
#{RUBYLIB_REINIT}
|
511
570
|
ENV['BUNDLE_GEMFILE'] = '#{autoproj_gemfile_path}'
|
512
571
|
ENV['AUTOPROJ_CURRENT_ROOT'] = '#{root_dir}'
|
513
572
|
require 'rubygems'
|
@@ -601,8 +660,11 @@ require 'bundler/setup'
|
|
601
660
|
#
|
602
661
|
# So, we're calling 'gem' as a subcommand to discovery the
|
603
662
|
# actual bindir
|
604
|
-
bindir = IO.popen(
|
605
|
-
|
663
|
+
bindir = IO.popen(
|
664
|
+
env_for_child,
|
665
|
+
[Gem.ruby, '-e', 'puts "#{Gem.user_dir}/bin"'], # rubocop:disable Lint/InterpolationCheck
|
666
|
+
&:read
|
667
|
+
)
|
606
668
|
if bindir
|
607
669
|
@gem_bindir = bindir.chomp
|
608
670
|
else
|
@@ -610,11 +672,11 @@ require 'bundler/setup'
|
|
610
672
|
end
|
611
673
|
end
|
612
674
|
|
613
|
-
def install
|
675
|
+
def install(bundler_version: self.bundler_version)
|
614
676
|
if ENV['BUNDLER_GEMFILE']
|
615
677
|
raise "cannot run autoproj_install or autoproj_bootstrap while "\
|
616
|
-
|
617
|
-
|
678
|
+
"under a 'bundler exec' subcommand or having loaded an "\
|
679
|
+
"env.sh. Open a new console and try again"
|
618
680
|
end
|
619
681
|
|
620
682
|
gem_program = self.class.guess_gem_program
|
@@ -622,13 +684,12 @@ require 'bundler/setup'
|
|
622
684
|
env['GEM_HOME'] = [gems_gem_home]
|
623
685
|
env['GEM_PATH'] = [gems_gem_home]
|
624
686
|
|
625
|
-
if bundler = find_bundler(gem_program)
|
687
|
+
if (bundler = find_bundler(gem_program, version: bundler_version))
|
626
688
|
puts "Detected bundler at #{bundler}"
|
627
689
|
else
|
628
690
|
puts "Installing bundler in #{gems_gem_home}"
|
629
|
-
|
630
|
-
|
631
|
-
end
|
691
|
+
bundler = install_bundler(gem_program, version: bundler_version)
|
692
|
+
exit(1) unless bundler
|
632
693
|
end
|
633
694
|
self.class.rewrite_shims(
|
634
695
|
File.join(dot_autoproj, 'bin'),
|
@@ -640,7 +701,7 @@ require 'bundler/setup'
|
|
640
701
|
save_gemfile
|
641
702
|
|
642
703
|
puts "Installing autoproj in #{gems_gem_home}"
|
643
|
-
install_autoproj(bundler)
|
704
|
+
install_autoproj(bundler, bundler_version: bundler_version)
|
644
705
|
end
|
645
706
|
|
646
707
|
def load_config
|
@@ -742,8 +803,13 @@ end
|
|
742
803
|
ENV.delete('BUNDLE_GEMFILE')
|
743
804
|
ENV.delete('RUBYLIB')
|
744
805
|
ops = Autoproj::Ops::Install.new(Dir.pwd)
|
806
|
+
|
807
|
+
existing_config = File.join(Dir.pwd, '.autoproj', 'config.yml')
|
808
|
+
if File.file?(existing_config)
|
809
|
+
puts "Found existing configuration, using it as seed"
|
810
|
+
puts "use --no-seed-config to avoid this behavior"
|
811
|
+
ops.add_seed_config(existing_config)
|
812
|
+
end
|
745
813
|
ops.parse_options(ARGV)
|
746
814
|
ops.stage1
|
747
|
-
|
748
|
-
ops.call_stage2
|
749
|
-
end
|
815
|
+
ops.call_stage2 unless ops.skip_stage2?
|
data/bin/autoproj_install.in
CHANGED
@@ -13,8 +13,13 @@ require 'autoproj/ops/install'
|
|
13
13
|
ENV.delete('BUNDLE_GEMFILE')
|
14
14
|
ENV.delete('RUBYLIB')
|
15
15
|
ops = Autoproj::Ops::Install.new(Dir.pwd)
|
16
|
+
|
17
|
+
existing_config = File.join(Dir.pwd, '.autoproj', 'config.yml')
|
18
|
+
if File.file?(existing_config)
|
19
|
+
puts "Found existing configuration, using it as seed"
|
20
|
+
puts "use --no-seed-config to avoid this behavior"
|
21
|
+
ops.add_seed_config(existing_config)
|
22
|
+
end
|
16
23
|
ops.parse_options(ARGV)
|
17
24
|
ops.stage1
|
18
|
-
|
19
|
-
ops.call_stage2
|
20
|
-
end
|
25
|
+
ops.call_stage2 unless ops.skip_stage2?
|
@@ -35,24 +35,30 @@ module Autoproj
|
|
35
35
|
# @deprecated use Autoproj.workspace.in_package_set or add a proper Loader
|
36
36
|
# object to your class
|
37
37
|
def self.in_package_set(package_set, path, &block)
|
38
|
-
Autoproj.warn_deprecated
|
38
|
+
Autoproj.warn_deprecated(
|
39
|
+
__method__,
|
39
40
|
"use Autoproj.workspace.in_package_set instead"
|
41
|
+
)
|
40
42
|
Autoproj.workspace.in_package_set(package_set, path, &block)
|
41
43
|
end
|
42
44
|
|
43
45
|
# @deprecated use Autoproj.workspace.current_file or add a proper Loader
|
44
46
|
# object to your class
|
45
47
|
def self.current_file
|
46
|
-
Autoproj.warn_deprecated
|
48
|
+
Autoproj.warn_deprecated(
|
49
|
+
__method__,
|
47
50
|
"use AUtoproj.workspace.current_file instead"
|
51
|
+
)
|
48
52
|
Autoproj.workspace.current_file
|
49
53
|
end
|
50
54
|
|
51
55
|
# @deprecated use Autoproj.workspace.current_package_set or add a proper
|
52
56
|
# Loader object to your class
|
53
57
|
def self.current_package_set
|
54
|
-
Autoproj.warn_deprecated
|
58
|
+
Autoproj.warn_deprecated(
|
59
|
+
__method__,
|
55
60
|
"use Autoproj.workspace.current_package_set instead"
|
61
|
+
)
|
56
62
|
Autoproj.workspace.current_package_set
|
57
63
|
end
|
58
64
|
|
@@ -60,22 +66,27 @@ module Autoproj
|
|
60
66
|
# Beware that the return value changed from Autobuild::Package to
|
61
67
|
# Autoproj::PackageDefinition
|
62
68
|
def self.define(package_type, spec, &block)
|
63
|
-
Autoproj.warn_deprecated
|
69
|
+
Autoproj.warn_deprecated(
|
70
|
+
__method__, "use Autoproj.workspace.define_package "\
|
64
71
|
"instead (and beware that the return value changed from "\
|
65
72
|
"Autobuild::Package to Autoproj::PackageDefinition)"
|
73
|
+
)
|
66
74
|
workspace.define_package(package_type, spec, block, *current_file).
|
67
75
|
autobuild
|
68
76
|
end
|
69
77
|
|
70
78
|
def self.loaded_autobuild_files
|
71
|
-
Autoproj.warn_deprecated
|
72
|
-
"use Autoproj.workspace.loaded_autobuild_files"
|
79
|
+
Autoproj.warn_deprecated(
|
80
|
+
__method__, "use Autoproj.workspace.loaded_autobuild_files"
|
81
|
+
)
|
73
82
|
Autoproj.workspace.loaded_autobuild_files
|
74
83
|
end
|
75
84
|
|
76
85
|
def self.import_autobuild_file(package_set, path)
|
77
|
-
Autoproj.warn_deprecated
|
86
|
+
Autoproj.warn_deprecated(
|
87
|
+
__method__,
|
78
88
|
"use Autoproj.workspace.import_autobuild_file"
|
89
|
+
)
|
79
90
|
Autoproj.workspace.import_autobuild_file(package_set, path)
|
80
91
|
end
|
81
92
|
|
@@ -149,11 +160,13 @@ end
|
|
149
160
|
|
150
161
|
# Adds a new setup block to an existing package
|
151
162
|
def setup_package(package_name, workspace: Autoproj.workspace, &block)
|
152
|
-
|
163
|
+
unless block
|
164
|
+
raise Autoproj::ConfigError.new, 'you must give a block to #setup_package'
|
165
|
+
end
|
153
166
|
|
154
167
|
package_definition = workspace.manifest.find_package_definition(package_name)
|
155
168
|
if !package_definition
|
156
|
-
raise ConfigError.new, "#{package_name} is not a known package"
|
169
|
+
raise Autoproj::ConfigError.new, "#{package_name} is not a known package"
|
157
170
|
elsif package_definition.autobuild.kind_of?(Autobuild::DummyPackage)
|
158
171
|
# Nothing to do!
|
159
172
|
else
|
@@ -408,9 +421,9 @@ def source_package(options, workspace: Autoproj.workspace)
|
|
408
421
|
end
|
409
422
|
|
410
423
|
# @deprecated use Autoproj.config.declare instead
|
411
|
-
def configuration_option(*opts, &block)
|
424
|
+
def configuration_option(*opts, **kw, &block)
|
412
425
|
Autoproj.warn_deprecated __method__, "use Autoproj.config.declare instead"
|
413
|
-
Autoproj.config.declare(*opts, &block)
|
426
|
+
Autoproj.config.declare(*opts, **kw, &block)
|
414
427
|
end
|
415
428
|
|
416
429
|
# @deprecated use Autoproj.config.get instead
|
@@ -488,11 +501,13 @@ def renamed_package(current_name, old_name, options)
|
|
488
501
|
explicitely_selected_in_layout?(old_name)
|
489
502
|
if options[:obsolete] && !explicit_selection
|
490
503
|
import_package old_name
|
491
|
-
Autoproj.workspace.manifest.exclude_package
|
504
|
+
Autoproj.workspace.manifest.exclude_package(
|
505
|
+
old_name,
|
492
506
|
"#{old_name} has been renamed to #{current_name}, you still have "\
|
493
507
|
"the option of using the old name by adding '- #{old_name}' explicitely "\
|
494
508
|
"in the layout in autoproj/manifest, but be warned that the name will "\
|
495
509
|
"stop being usable at all in the near future"
|
510
|
+
)
|
496
511
|
else
|
497
512
|
metapackage old_name, current_name
|
498
513
|
end
|