autoproj 2.0.0.rc14 → 2.0.0.rc15

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 04ec9441fdf0ffd2541d5bf217412d4f153f77b6
4
- data.tar.gz: e1c4e19cee12aa7629a1fcbe19d5c9c9ad8be340
3
+ metadata.gz: 72bfb787ad1c7703f07969b97c019c9fd49dc3ec
4
+ data.tar.gz: 830d1225e29863caecdbbdea21b40a80975c61c9
5
5
  SHA512:
6
- metadata.gz: 86a003101f5024f513b7c93ee4749aa8e9097f85a6c10eb13666fc56dcaf3b3cb7c0eef28dbf556343408a942afe240b3f39e4d977c9073e93744edbccdcaf43
7
- data.tar.gz: 58780f3613e8d50c1890cfa3c95efcd51d6f4e3e1ca5aa000e74dfe07324aad389c3b78882878a3db0a223bf9b1f7c74b066f4e08fdd0c7281bebc68fa38db89
6
+ metadata.gz: 2558027c520e214fa512cb70efb99d95bc69c342ff864a16c9a23ff64e75972a085f70d62bd95e6cb08282379e15741cdfc22af70fdcc5a7d1f979a37479b392
7
+ data.tar.gz: 77c978c7afe274015b889a868a1514abb24ec515e6a13a9045b4747f9718120a0f18b293064efa3d2064d1dad626ec7ecbd6c750f8e114789b6b61f3dfda05d9
@@ -489,7 +489,6 @@ module Autoproj
489
489
  require 'autobuild'
490
490
  puts "saving env.sh and .autoproj/env.sh"
491
491
  save_env_sh(*vars)
492
- puts "calling autoproj envsh #{autoproj_options}"
493
492
  if !system(Gem.ruby, autoproj_path, 'envsh', *autoproj_options)
494
493
  exit 1
495
494
  end
data/bin/autoproj_install CHANGED
@@ -489,7 +489,6 @@ module Autoproj
489
489
  require 'autobuild'
490
490
  puts "saving env.sh and .autoproj/env.sh"
491
491
  save_env_sh(*vars)
492
- puts "calling autoproj envsh #{autoproj_options}"
493
492
  if !system(Gem.ruby, autoproj_path, 'envsh', *autoproj_options)
494
493
  exit 1
495
494
  end
data/lib/autoproj.rb CHANGED
@@ -54,7 +54,7 @@ def self.warn_deprecated_level
54
54
  def self.warn_deprecated_level=(level)
55
55
  @warn_deprecated_level = level
56
56
  end
57
- @warn_deprecated_level = 0
57
+ @warn_deprecated_level = 1
58
58
 
59
59
  def self.warn_deprecated(method, msg, level = 0)
60
60
  if level >= @warn_deprecated_level
@@ -534,7 +534,7 @@ def configuration_option(*opts, &block)
534
534
  #
535
535
  # See Autoproj.user_config
536
536
  def user_config(key)
537
- Autoproj.config.get(key)
537
+ Autoproj.user_config(key)
538
538
  end
539
539
 
540
540
  class Autobuild::Git
@@ -6,6 +6,9 @@ module CLI
6
6
  class Base
7
7
  include Ops::Tools
8
8
 
9
+ # The underlying workspace
10
+ #
11
+ # @return [Workspace]
9
12
  attr_reader :ws
10
13
 
11
14
  def initialize(ws = nil)
@@ -44,14 +47,20 @@ def normalize_command_line_package_selection(selection)
44
47
  return selection, config_selected
45
48
  end
46
49
 
47
- def resolve_user_selection(selected_packages, options = Hash.new)
50
+ # Resolve a user-provided selection
51
+ #
52
+ # @param (see expand_package_selection)
53
+ # @return [(PackageSelection,Array<String>)] the resolved selections
54
+ # and the list of entries in selected_packages that have not been
55
+ # resolved
56
+ def resolve_user_selection(selected_packages, **options)
48
57
  if selected_packages.empty?
49
58
  return ws.manifest.default_packages
50
59
  end
51
60
  selected_packages = selected_packages.to_set
52
61
 
53
62
  selected_packages, nonresolved = ws.manifest.
54
- expand_package_selection(selected_packages, options)
63
+ expand_package_selection(selected_packages, **options)
55
64
 
56
65
  # Try to auto-add stuff if nonresolved
57
66
  nonresolved.delete_if do |sel|
@@ -80,29 +89,56 @@ def resolve_user_selection(selected_packages, options = Hash.new)
80
89
  return selected_packages, nonresolved
81
90
  end
82
91
 
83
- def resolve_selection(manifest, user_selection, options = Hash.new)
84
- options = Kernel.validate_options options,
85
- checkout_only: true,
86
- only_local: false,
87
- recursive: true,
88
- ignore_non_imported_packages: false
89
-
92
+ # Resolves the user-provided selection into the set of packages that
93
+ # should be processed further
94
+ #
95
+ # While {#resolve_user_selection} really only considers packages and
96
+ # strings, this methods takes care of doing recursive resolution of
97
+ # dependencies, as well as splitting the packages into source and
98
+ # osdep packages.
99
+ #
100
+ # It loads the packages in sequence (that's the only way the full
101
+ # selection can be computed), and is therefore responsible for
102
+ # updating the packages if needed (disabled by default)
103
+ #
104
+ # @param [Array<String>] user_selection the selection provided by
105
+ # the user
106
+ # @param [Boolean] checkout_only if packages should be updated
107
+ # (false) or only missing packages should be checked out (the
108
+ # default)
109
+ # @param [Boolean] only_local if the update/checkout operation is
110
+ # allowed to access the network. If only_local is true but some
111
+ # packages should be checked out, the update will fail
112
+ # @param [Boolean] recursive whether the resolution should be done
113
+ # recursively (i.e. dependencies of directly selected packages
114
+ # should be added) or not
115
+ # @param [Boolean] ignore_non_imported_packages whether packages
116
+ # that are not imported should simply be ignored. Setting
117
+ # checkout_only to true and ignore_non_imported_packages to true
118
+ # guarantees in effect that no import operation will take place,
119
+ # only loading
120
+ # @return [(Array<String>,Array<String>,PackageSelection)] the list
121
+ # of selected source packages, the list of selected OS packages and
122
+ # the package selection resolution object
123
+ #
124
+ # @see resolve_user_selection
125
+ def resolve_selection(user_selection, checkout_only: true, only_local: false, recursive: true, ignore_non_imported_packages: false)
90
126
  resolved_selection, _ = resolve_user_selection(user_selection, filter: false)
91
- if options[:ignore_non_imported_packages]
92
- manifest.each_autobuild_package do |pkg|
127
+ if ignore_non_imported_packages
128
+ ws.manifest.each_autobuild_package do |pkg|
93
129
  if !File.directory?(pkg.srcdir)
94
- manifest.ignore_package(pkg.name)
130
+ ws.manifest.ignore_package(pkg.name)
95
131
  end
96
132
  end
97
133
  end
98
- resolved_selection.filter_excluded_and_ignored_packages(manifest)
134
+ resolved_selection.filter_excluded_and_ignored_packages(ws.manifest)
99
135
 
100
136
  ops = Ops::Import.new(ws)
101
137
  source_packages, osdep_packages = ops.import_packages(
102
138
  resolved_selection,
103
- checkout_only: options[:checkout_only],
104
- only_local: options[:only_local],
105
- recursive: options[:recursive],
139
+ checkout_only: checkout_only,
140
+ only_local: only_local,
141
+ recursive: recursive,
106
142
  warn_about_ignored_packages: false)
107
143
 
108
144
  return source_packages, osdep_packages, resolved_selection
@@ -18,7 +18,6 @@ def run(selection, options = Hash.new)
18
18
  initialize_and_load
19
19
  packages, _ = normalize_command_line_package_selection(selection)
20
20
  source_packages, * = resolve_selection(
21
- ws.manifest,
22
21
  selection,
23
22
  recursive: false,
24
23
  ignore_non_imported_packages: true)
@@ -46,7 +46,7 @@ def finalize_setup(packages = [], options = Hash.new)
46
46
  resolve_user_selection(packages)
47
47
  ws.finalize_package_setup
48
48
  source_packages, osdep_packages, resolved_selection =
49
- resolve_selection(ws.manifest, packages, options)
49
+ resolve_selection(packages, options)
50
50
  ws.finalize_setup
51
51
  ws.export_installation_manifest
52
52
  return source_packages, osdep_packages, resolved_selection, config_selected
@@ -35,6 +35,7 @@ def validate_options(packages, options)
35
35
  end
36
36
 
37
37
  def run(selected_packages, options)
38
+ ws.manifest.accept_unavailable_osdeps = !options[:osdeps]
38
39
  explicit_selection = !selected_packages.empty?
39
40
  selected_packages, config_selected =
40
41
  normalize_command_line_package_selection(selected_packages)
@@ -129,7 +129,7 @@ hg:
129
129
 
130
130
  svn:
131
131
  debian,ubuntu: subversion
132
- gentoo: dev-util/subversion
132
+ gentoo: dev-vcs/subversion
133
133
  arch: subversion
134
134
  fedora: subversion
135
135
  darwin: subversion
@@ -34,7 +34,7 @@ def self.find_prefix_dir(base_dir = default_find_base_dir)
34
34
  # @return [String,nil] the root of the workspace directory, or nil if
35
35
  # there's none
36
36
  def self.find_v2_root_dir(base_dir, config_field_name)
37
- path = Pathname.new(base_dir)
37
+ path = Pathname.new(base_dir).expand_path
38
38
  while !path.root?
39
39
  if (path + ".autoproj").exist?
40
40
  break
@@ -50,7 +50,16 @@ def self.find_v2_root_dir(base_dir, config_field_name)
50
50
  if config_path.exist?
51
51
  config = YAML.load(config_path.read) || Hash.new
52
52
  result = config[config_field_name] || path.to_s
53
- File.expand_path(result, path.to_s)
53
+ result = File.expand_path(result, path.to_s)
54
+ if result == path.to_s
55
+ return result
56
+ end
57
+ resolved = find_v2_root_dir(result, config_field_name)
58
+
59
+ if !resolved || (resolved != result)
60
+ raise ArgumentError, "found #{path} as possible workspace root for #{base_dir}, but it contains a configuration file in #{config_path} that points to #{result} and #{result} is not an autoproj workspace root"
61
+ end
62
+ resolved
54
63
  else
55
64
  path.to_s
56
65
  end
@@ -106,8 +106,10 @@ def self.git_server_configuration(name, base_url, options = Hash.new)
106
106
  end
107
107
 
108
108
  def self.gitorious_server_configuration(name, base_url, options = Hash.new)
109
- Autoproj.warn "gitorious_server_configuration is deprecated, replace by git_server_configuration"
110
- Autoproj.warn "Note that the call interface has not changed, you only need to change the method name"
109
+ Autoproj.warn_deprecated "gitorious_server_configuration",
110
+ "use require 'git_server_configuration' and
111
+ Autoproj.git_server_configuration instead. note that the method call
112
+ interface has not changed, you just have to change the name(s)"
111
113
  git_server_configuration(name, base_url, options)
112
114
  end
113
115
  end
@@ -1,3 +1 @@
1
- Autoproj.warn "gitorious_server_configuration is deprecated, use require 'git_server_configuration' and Autoproj.git_server_configuration instead"
2
- Autoproj.warn "note that the method call interface has not changed, you just have to change the name(s)"
3
1
  require 'autoproj/git_server_configuration'
@@ -71,6 +71,15 @@ def load(file)
71
71
  # A set of other autoproj installations that are being reused
72
72
  attr_reader :reused_installations
73
73
 
74
+ # Whether {#resolve_package_name} should raise if an osdep is found that
75
+ # is not available on the current operating system, or simply return it
76
+ #
77
+ # @return [Boolean]
78
+ def accept_unavailable_osdeps?; !!@accept_unavailable_osdeps end
79
+
80
+ # Sets {#accept_unavailable_osdeps?}
81
+ def accept_unavailable_osdeps=(flag); @accept_unavailable_osdeps = flag end
82
+
74
83
  # True if osdeps should be handled in update and build, or left to the
75
84
  # osdeps command
76
85
  def auto_osdeps?
@@ -108,6 +117,7 @@ def initialize
108
117
  @reused_installations = Array.new
109
118
  @ignored_packages = Set.new
110
119
  @manifest_exclusions = Set.new
120
+ @accept_unavailable_osdeps = false
111
121
 
112
122
  @constant_definitions = Hash.new
113
123
  @package_sets << LocalPackageSet.new(self)
@@ -334,14 +344,21 @@ def register_package_set(pkg_set)
334
344
  end
335
345
 
336
346
  # Register a new package
337
- def register_package(package, block, source, file)
338
- pkg = PackageDefinition.new(package, source, file)
347
+ #
348
+ # @param [Autobuild::Package] package
349
+ # @param [#call,nil] block a setup block
350
+ # @param [PackageSet] package_set the package set that defines the package
351
+ # @param [String] file the file in which the package is defined
352
+ # @return [PackageDefinition]
353
+ def register_package(package, block = nil, package_set = main_package_set, file = nil)
354
+ pkg = PackageDefinition.new(package, package_set, file)
339
355
  if block
340
356
  pkg.add_setup_block(block)
341
357
  end
342
358
  @packages[package.name] = pkg
343
- @metapackages[pkg.package_set.name].add(pkg.autobuild)
344
- @metapackages["#{pkg.package_set.name}.all"].add(pkg.autobuild)
359
+ metapackage pkg.package_set.name, pkg.autobuild
360
+ metapackage "#{pkg.package_set.name}.all", pkg.autobuild
361
+ pkg
345
362
  end
346
363
 
347
364
  # Returns the package set that defines a package
@@ -538,14 +555,22 @@ def main_package_set
538
555
  each_package_set.find(&:main?)
539
556
  end
540
557
 
541
- # Resolves the given +name+, where +name+ can either be the name of a
542
- # source or the name of a package.
543
- #
544
- # The returned value is a list of pairs:
558
+ # Resolves a name into a set of source and osdep packages
545
559
  #
546
- # [type, package_name]
560
+ # @param [String] name the name to be resolved. It can either be the
561
+ # name of a source package, an osdep package or a metapackage (e.g.
562
+ # package set).
547
563
  #
548
- # where +type+ can either be :package or :osdeps (as symbols)
564
+ # @return [nil,Array] either nil if there is no such osdep, or a list of
565
+ # (type, package_name) pairs where type is either :package or :osdep and
566
+ # package_name the corresponding package name
567
+ # @raise [PackageNotFound] if the given package name cannot be resolved
568
+ # into a package. If {#accept_unavailable_osdeps?} is false (the
569
+ # default), the exception will be raised if the package is known to be
570
+ # an osdep, but it is not available on the local operating system (as
571
+ # defined by {#os_package_resolver}), and there has been no source
572
+ # fallback defined with {#add_osdeps_overrides}. If true, it will
573
+ # return such a package as an osdep.
549
574
  def resolve_package_name(name)
550
575
  if pkg_set = find_metapackage(name)
551
576
  pkg_names = pkg_set.each_package.map(&:name)
@@ -557,8 +582,8 @@ def resolve_package_name(name)
557
582
  pkg_names.each do |pkg|
558
583
  begin
559
584
  result.concat(resolve_single_package_name(pkg))
560
- rescue PackageNotFound
561
- raise PackageNotFound, "cannot resolve #{pkg}: it is not a package, not a metapackage and not an osdep"
585
+ rescue PackageNotFound => e
586
+ raise PackageNotFound, "cannot resolve #{pkg}: #{e}", e.backtrace
562
587
  end
563
588
  end
564
589
  result
@@ -585,6 +610,8 @@ def resolve_packages_dependencies(*root_names)
585
610
  result
586
611
  end
587
612
 
613
+ # @api private
614
+ #
588
615
  # Resolves a package name, where +name+ cannot be resolved as a
589
616
  # metapackage
590
617
  #
@@ -604,6 +631,16 @@ def resolve_single_package_name(name)
604
631
  end
605
632
  end
606
633
 
634
+ # @api private
635
+ #
636
+ # Resolve a package name that is assumed to be a source package
637
+ #
638
+ # @param [String] name the name to be resolved
639
+ # @return [nil,Array] either nil if there is no such osdep, or a list of
640
+ # (type, package_name) pairs where type is either :package or :osdep and
641
+ # package_name the corresponding package name
642
+ # @raise PackageNotFound if the given package name cannot be resolved
643
+ # into a package
607
644
  def resolve_package_name_as_source_package(name)
608
645
  if pkg = find_autobuild_package(name)
609
646
  return [[:package, pkg.name]]
@@ -620,10 +657,17 @@ def resolve_package_name_as_source_package(name)
620
657
  # @return [nil,Array] either nil if there is no such osdep, or a list of
621
658
  # (type, package_name) pairs where type is either :package or :osdep and
622
659
  # package_name the corresponding package name
660
+ # @raise PackageNotFound if the given package name cannot be resolved
661
+ # into a package. If {#accept_unavailable_osdeps?} is false (the
662
+ # default), the exception will be raised if the package is known to be
663
+ # an osdep, but it is not available on the local operating system (as
664
+ # defined by {#os_package_resolver}), and there has been no source
665
+ # fallback defined with {#add_osdeps_overrides}.
666
+ # If true, it will return it as an osdep.
623
667
  def resolve_package_name_as_osdep(name)
624
668
  osdeps_availability = os_package_resolver.availability_of(name)
625
669
  if osdeps_availability == OSPackageResolver::NO_PACKAGE
626
- raise PackageNotFound, "cannot resolve #{name}: it is not an osdep"
670
+ raise PackageNotFound, "#{name} is not an osdep"
627
671
  end
628
672
 
629
673
  # There is an osdep definition for this package, check the
@@ -638,7 +682,7 @@ def resolve_package_name_as_osdep(name)
638
682
  end.uniq
639
683
  elsif !osdeps_available && (pkg = find_autobuild_package(name))
640
684
  return [[:package, pkg.name]]
641
- elsif osdeps_available
685
+ elsif osdeps_available || accept_unavailable_osdeps?
642
686
  return [[:osdeps, name]]
643
687
  elsif osdeps_availability == OSPackageResolver::WRONG_OS
644
688
  raise PackageNotFound, "#{name} is an osdep, but it is not available for this operating system"
@@ -670,23 +714,33 @@ def find_metapackage(name)
670
714
  @metapackages[name.to_s]
671
715
  end
672
716
 
673
- # call-seq:
674
- # metapackage 'meta_name' => Metapackage
675
- # metapackage 'meta_name', 'pkg1', 'pkg2' => Metapackage
717
+ # Add packages to a metapackage, creating the metapackage if it does not
718
+ # exist
676
719
  #
677
- # Metapackage definition
720
+ # @overload metapackage(name)
721
+ # Create a metapackage
678
722
  #
679
- # In the first form, returns a Metapackage instance for the metapackage
680
- # named 'meta_name'.
723
+ # @return [Metapackage]
724
+ #
725
+ # @overload metapackage(name, *packages)
726
+ # Add packages to a new or existing metapackage
727
+ #
728
+ # @param [String] name the name of the metapackage. If it already
729
+ # exists, the packages will be added to it.
730
+ # @param [String] packages list of package names to be added to the
731
+ # metapackage
732
+ # @return [Metapackage]
681
733
  #
682
- # In the second form, adds the listed packages to the metapackage and
683
- # returns the Metapackage instance
684
734
  def metapackage(name, *packages, &block)
685
735
  meta = (@metapackages[name.to_s] ||= Metapackage.new(name))
686
- packages.each do |pkg_name|
687
- package_names = resolve_package_set(pkg_name)
688
- package_names.each do |pkg_name|
689
- meta.add(find_autobuild_package(pkg_name))
736
+ packages.each do |pkg|
737
+ if pkg.respond_to?(:to_str)
738
+ package_names = resolve_package_set(pkg)
739
+ package_names.each do |pkg_name|
740
+ meta.add(find_autobuild_package(pkg_name))
741
+ end
742
+ else
743
+ meta.add(pkg)
690
744
  end
691
745
  end
692
746
 
@@ -982,14 +1036,12 @@ def filter_os_packages(required_os_packages, package_os_deps)
982
1036
  #
983
1037
  # The :force option allows to force the usage of the source package(s),
984
1038
  # regardless of the availability of the osdeps package.
985
- def add_osdeps_overrides(osdeps_name, options)
986
- options = Kernel.validate_options options, package: osdeps_name, packages: [], force: false
987
- if pkg = options.delete(:package)
988
- options[:packages] << pkg
1039
+ def add_osdeps_overrides(osdeps_name, package: osdeps_name, packages: [], force: false)
1040
+ if package
1041
+ packages << package
989
1042
  end
990
- packages = options[:packages]
991
1043
  packages.each { |pkg_name| resolve_package_name(pkg_name) }
992
- @osdeps_overrides[osdeps_name.to_s] = options
1044
+ @osdeps_overrides[osdeps_name.to_s] = Hash[packages: packages, force: force]
993
1045
  end
994
1046
 
995
1047
  # Remove any OSDeps override that has previously been added with
@@ -1,74 +1,62 @@
1
1
  module Autoproj
2
2
  # @deprecated use config.override instead
3
3
  def self.override_option(option_name, value)
4
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
5
- caller.each { |bt| Autoproj.warn " #{bt}" }
4
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
6
5
  config.override(option_name, value)
7
6
  end
8
7
  # @deprecated use config.reset instead
9
8
  def self.reset_option(key)
10
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
11
- caller.each { |bt| Autoproj.warn " #{bt}" }
9
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
12
10
  config.reset(key)
13
11
  end
14
12
  # @deprecated use config.set(key, value, user_validated) instead
15
13
  def self.change_option(key, value, user_validated = false)
16
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
17
- caller.each { |bt| Autoproj.warn " #{bt}" }
14
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
18
15
  config.set(key, value, user_validated)
19
16
  end
20
17
  # @deprecated use config.validated_values instead
21
18
  def self.option_set
22
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
23
- caller.each { |bt| Autoproj.warn " #{bt}" }
19
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
24
20
  config.validated_values
25
21
  end
26
22
  # @deprecated use config.get(key) instead
27
23
  def self.user_config(key)
28
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
29
- caller.each { |bt| Autoproj.warn " #{bt}" }
24
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
30
25
  config.get(key)
31
26
  end
32
27
  # @deprecated use config.declare(name, type, options, &validator) instead
33
28
  def self.configuration_option(name, type, options, &validator)
34
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
35
- caller.each { |bt| Autoproj.warn " #{bt}" }
29
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
36
30
  config.declare(name, type, options, &validator)
37
31
  end
38
32
  # @deprecated use config.declared?(name, type, options, &validator) instead
39
33
  def self.declared_option?(name)
40
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
41
- caller.each { |bt| Autoproj.warn " #{bt}" }
34
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
42
35
  config.declared?(name)
43
36
  end
44
37
  # @deprecated use config.configure(option_name) instead
45
38
  def self.configure(option_name)
46
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
47
- caller.each { |bt| Autoproj.warn " #{bt}" }
39
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
48
40
  config.configure(option_name)
49
41
  end
50
42
  # @deprecated use config.has_value_for?(name)
51
43
  def self.has_config_key?(name)
52
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
53
- caller.each { |bt| Autoproj.warn " #{bt}" }
44
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
54
45
  config.has_value_for?(name)
55
46
  end
56
47
  # @deprecated use config.shell_helpers? instead
57
48
  def self.shell_helpers?
58
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
59
- caller.each { |bt| Autoproj.warn " #{bt}" }
49
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
60
50
  config.shell_helpers?
61
51
  end
62
52
  # @deprecated use config.shell_helpers= instead
63
53
  def self.shell_helpers=(flag)
64
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
65
- caller.each { |bt| Autoproj.warn " #{bt}" }
54
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
66
55
  config.shell_helpers = flag
67
56
  end
68
57
 
69
58
  def self.save_config
70
- Autoproj.warn "#{__method__} is deprecated, use the API on Autoproj.config (from Autoproj::Configuration) instead"
71
- caller.each { |bt| Autoproj.warn " #{bt}" }
59
+ Autoproj.warn_deprecated __method__, "use the API on Autoproj.config (from Autoproj::Configuration) instead"
72
60
  config.save
73
61
  end
74
62
 
@@ -139,10 +139,8 @@ def os_package_manager
139
139
  if !instance_variable_defined?(:@os_package_manager)
140
140
  os_names, _ = operating_system
141
141
  os_name = os_names.find { |name| OS_PACKAGE_MANAGERS[name] }
142
- @os_package_manager = OS_PACKAGE_MANAGERS[os_name]
143
- if !@os_package_manager
144
- raise "unsupported OS #{os_names.join(", ")}"
145
- end
142
+ @os_package_manager = OS_PACKAGE_MANAGERS[os_name] ||
143
+ 'unknown'
146
144
  end
147
145
  return @os_package_manager
148
146
  end
@@ -691,11 +689,8 @@ def resolve_os_packages(dependencies)
691
689
  end
692
690
 
693
691
  if result.empty?
694
- if self.class.supported_operating_system?
695
- os_names, os_versions = operating_system
696
- raise MissingOSDep.new, "there is an osdeps definition for #{name}, but not for this operating system and version (resp. #{os_names.join(", ")} and #{os_versions.join(", ")})"
697
- end
698
- result = [[os_package_manager, FOUND_PACKAGES, [name]]]
692
+ os_names, os_versions = operating_system
693
+ raise MissingOSDep.new, "there is an osdeps definition for #{name}, but not for this operating system and version (resp. #{os_names.join(", ")} and #{os_versions.join(", ")})"
699
694
  end
700
695
 
701
696
  result.each do |handler, status, packages|
@@ -763,8 +758,6 @@ def availability_of(name)
763
758
  if resolved.empty?
764
759
  if !operating_system
765
760
  return UNKNOWN_OS
766
- elsif !supported_operating_system?
767
- return AVAILABLE
768
761
  else return WRONG_OS
769
762
  end
770
763
  end
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "2.0.0.rc14"
2
+ VERSION = "2.0.0.rc15"
3
3
  end
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.0.0.rc14
4
+ version: 2.0.0.rc15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-28 00:00:00.000000000 Z
11
+ date: 2015-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autobuild
@@ -292,3 +292,4 @@ signing_key:
292
292
  specification_version: 4
293
293
  summary: Easy installation and management of sets of software packages
294
294
  test_files: []
295
+ has_rdoc: