autoproj 2.11.0 → 2.14.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|