autoproj 2.0.2 → 2.0.3

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: 1cf7f7d0c8d98b09aff6103fed65c4c4c5b9f20b
4
- data.tar.gz: 5175feae1b29209f1cd5d3706737e2561d3f982c
3
+ metadata.gz: 225ebf408df3b402e49ba4fb88968d99ca7516d4
4
+ data.tar.gz: 5e6c520db390621a7fc4f5b9a6ac772d9b08e459
5
5
  SHA512:
6
- metadata.gz: cab8e9584a00aebb183cacdafc88487830a73d94ea3228d62cb8f3e8524b10a5980526d62f2bf52f696c60dd8a0615d765736c178db9f1ec085da7d56b97e829
7
- data.tar.gz: da39b66b640c0e62143e520d9e6adebc16a02c2b333728133f685ae263f4057893d1e1c8f9086cc8033bf8a788b89d8fc753d1294372a38e1b5cdb5b43b5e69a
6
+ metadata.gz: be6bdb315d178d9980fa5f769fc044ba2dfdc1a9cfd605e3a184142f8d7a6132777778ecf75e3f33bcf0c4184139e8dac3a4aafdf5668efd9903d94be4488ee5
7
+ data.tar.gz: 89e2b7a9ada6aff9be121e91c087f6d476f94a78dd022bbb2bdb8a59dfc866bf1bafa463ce8df47b47404a0a654a38b5e42bf53b98e1aa1bc446e138a31d9b21
@@ -130,7 +130,7 @@ def optional_dependency(name)
130
130
 
131
131
  def partition_package(pkg_name)
132
132
  pkg_autobuild, pkg_osdeps = [], []
133
- ws.manifest.resolve_package_name(pkg_name).each do |type, dep_name|
133
+ ws.manifest.resolve_package_name(pkg_name, include_unavailable: true).each do |type, dep_name|
134
134
  if type == :osdeps
135
135
  pkg_osdeps << dep_name
136
136
  elsif type == :package
@@ -86,6 +86,9 @@ ruby22:
86
86
  ruby23:
87
87
  default: ignore # we assume that if the user has a ruby 2.3 runtime, it is usable
88
88
 
89
+ ruby24:
90
+ default: ignore # we assume that if the user has a ruby 2.3 runtime, it is usable
91
+
89
92
  build-essential:
90
93
  debian,ubuntu: build-essential
91
94
  gentoo: ignore
@@ -29,8 +29,9 @@ def initialize(original_errors, source_packages: [], osdep_packages: [])
29
29
  end
30
30
 
31
31
  # Exception raised when trying to resolve a package name and it failed
32
- class PackageNotFound < ConfigError
33
- end
32
+ class PackageNotFound < ConfigError; end
33
+
34
+ class PackageUnavailable < PackageNotFound; end
34
35
 
35
36
  class UnregisteredPackage < ArgumentError
36
37
  end
@@ -661,7 +661,7 @@ def main_package_set
661
661
  # defined by {#os_package_resolver}), and there has been no source
662
662
  # fallback defined with {#add_osdeps_overrides}. If true, it will
663
663
  # return such a package as an osdep.
664
- def resolve_package_name(name)
664
+ def resolve_package_name(name, include_unavailable: false)
665
665
  if pkg_set = find_metapackage(name)
666
666
  pkg_names = pkg_set.each_package.map(&:name)
667
667
  else
@@ -672,8 +672,14 @@ def resolve_package_name(name)
672
672
  pkg_names.each do |pkg|
673
673
  begin
674
674
  result.concat(resolve_single_package_name(pkg))
675
+ rescue PackageUnavailable => e
676
+ if include_unavailable
677
+ result.concat([[:osdeps, pkg]])
678
+ else
679
+ raise e, "cannot resolve #{pkg}: #{e}", e.backtrace
680
+ end
675
681
  rescue PackageNotFound => e
676
- raise PackageNotFound, "cannot resolve #{pkg}: #{e}", e.backtrace
682
+ raise e, "cannot resolve #{pkg}: #{e}", e.backtrace
677
683
  end
678
684
  end
679
685
  result
@@ -696,7 +702,7 @@ def resolve_single_package_name(name)
696
702
  begin
697
703
  resolve_package_name_as_source_package(name)
698
704
  rescue PackageNotFound
699
- raise PackageNotFound, "#{osdep_error} and it cannot be resolved as a source package"
705
+ raise osdep_error, "#{osdep_error} and it cannot be resolved as a source package"
700
706
  end
701
707
  end
702
708
 
@@ -754,11 +760,11 @@ def resolve_package_name_as_osdep(name)
754
760
  elsif osdeps_available || accept_unavailable_osdeps?
755
761
  return [[:osdeps, name]]
756
762
  elsif osdeps_availability == OSPackageResolver::WRONG_OS
757
- raise PackageNotFound, "#{name} is an osdep, but it is not available for this operating system (#{os_package_resolver.operating_system})"
763
+ raise PackageUnavailable, "#{name} is an osdep, but it is not available for this operating system (#{os_package_resolver.operating_system})"
758
764
  elsif osdeps_availability == OSPackageResolver::UNKNOWN_OS
759
- raise PackageNotFound, "#{name} is an osdep, but the local operating system is unavailable"
765
+ raise PackageUnavailable, "#{name} is an osdep, but the local operating system is unavailable"
760
766
  elsif osdeps_availability == OSPackageResolver::NONEXISTENT
761
- raise PackageNotFound, "#{name} is an osdep, but it is explicitely marked as 'nonexistent' for this operating system (#{os_package_resolver.operating_system})"
767
+ raise PackageUnavailable, "#{name} is an osdep, but it is explicitely marked as 'nonexistent' for this operating system (#{os_package_resolver.operating_system})"
762
768
  end
763
769
  end
764
770
 
@@ -554,11 +554,11 @@ def mark_unavailable_osdeps_as_excluded
554
554
 
555
555
  case os_package_resolver.availability_of(osdep_name)
556
556
  when OSPackageResolver::UNKNOWN_OS
557
- manifest.exclude_package(osdep_name, "this operating system is unknown to autoproj")
557
+ manifest.exclude_package(osdep_name, "the current operating system is unknown to autoproj")
558
558
  when OSPackageResolver::WRONG_OS
559
- manifest.exclude_package(osdep_name, "there are definitions for it, but not for this operating system")
559
+ manifest.exclude_package(osdep_name, "#{osdep_name} is defined, but not for this operating system")
560
560
  when OSPackageResolver::NONEXISTENT
561
- manifest.exclude_package(osdep_name, "it is marked as unavailable for this operating system")
561
+ manifest.exclude_package(osdep_name, "#{osdep_name} is marked as unavailable for this operating system")
562
562
  end
563
563
  end
564
564
  end
@@ -180,10 +180,10 @@ def self.guess_gem_program
180
180
  # @param [String] autoproj_version a constraint on the autoproj version
181
181
  # that should be used
182
182
  # @return [String]
183
- def default_gemfile_contents(autoproj_version = ">= 2.0.0.a")
183
+ def default_gemfile_contents(autoproj_version = ">= 2.0.0")
184
184
  ["source \"#{gem_source}\"",
185
185
  "gem \"autoproj\", \"#{autoproj_version}\"",
186
- "gem \"utilrb\", \">= 3.0.0.a\""].join("\n")
186
+ "gem \"utilrb\", \">= 3.0.1\""].join("\n")
187
187
  end
188
188
 
189
189
  # Parse the provided command line options and returns the non-options
@@ -254,6 +254,7 @@ def merge_gemfiles(*path, unlock: [])
254
254
  end
255
255
  contents << "source '#{g.to_s}'"
256
256
  end
257
+ valid_keys = %w{group groups git path glob name branch ref tag require submodules platform platforms type source install_if}
257
258
  dependencies.each do |group_name, by_platform|
258
259
  contents << "group :#{group_name} do"
259
260
  by_platform.each do |platform_name, deps|
@@ -265,8 +266,7 @@ def merge_gemfiles(*path, unlock: [])
265
266
  deps.each do |d|
266
267
  if d.source
267
268
  options = d.source.options.dup
268
- options.delete 'root_path'
269
- options.delete 'uri'
269
+ options.delete_if { |k, _| !valid_keys.include?(k) }
270
270
  options = options.map { |k, v| "#{k}: \"#{v}\"" }
271
271
  end
272
272
  contents << [" #{platform_indent}gem \"#{d.name}\", \"#{d.requirement}\"", *options].join(", ")
@@ -14,18 +14,23 @@ def filter_uptodate_packages(packages)
14
14
  # TODO there might be duplicates in packages which should be fixed
15
15
  # somewhere else
16
16
  packages = packages.uniq
17
- result = `brew info --json=v1 '#{packages.join("' '")}'`
18
- result = begin
19
- JSON.parse(result)
20
- rescue JSON::ParserError
21
- if result && !result.empty?
22
- Autoproj.warn "Error while parsing result of brew info --json=v1"
23
- else
24
- # one of the packages is unknown fallback to install all
25
- # packaes which will complain about it
26
- end
27
- return packages
28
- end
17
+ command_line = "brew info --json=v1 #{packages.join(' ')}"
18
+ result = Bundler.with_clean_env do
19
+ (Autobuild::Subprocess.run 'autoproj', 'osdeps', command_line).first
20
+ end
21
+
22
+ begin
23
+ JSON.parse(result)
24
+ rescue JSON::ParserError
25
+ if result && !result.empty?
26
+ Autoproj.warn "Error while parsing result of brew info --json=v1"
27
+ else
28
+ # one of the packages is unknown fallback to install all
29
+ # packaes which will complain about it
30
+ end
31
+ return packages
32
+ end
33
+
29
34
  # fall back if something else went wrong
30
35
  if packages.size != result.size
31
36
  Autoproj.warn "brew info returns less or more packages when requested. Falling back to install all packages"
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "2.0.2"
2
+ VERSION = "2.0.3"
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.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-06 00:00:00.000000000 Z
11
+ date: 2017-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler