autoproj 2.0.2 → 2.0.3

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