autoproj 1.11.0.rc15 → 1.12.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f532e864fc2e5926742f48b077550a790c3baacf
4
- data.tar.gz: 63a70a19b2f5aa23508031293ed199439a1c2dde
3
+ metadata.gz: dc64d6f9ced9d44cb201ab31f5dbf2a84bdef777
4
+ data.tar.gz: ea6d4f3c3d2db15a084c9d3348780dddd893d975
5
5
  SHA512:
6
- metadata.gz: 7a47dd280accc2939eea99009665d4ad575366e7e8b673a1072c661bfe2088433e19e2b58a83b7d9df875e1471d2dd8761356b58cc5cf57b211a552a8726e71c
7
- data.tar.gz: f28e24343f5ed84060f2c769ad48c36ceeef17334336645c8c8a0bb116d6ac600f252fd1f8d79deef6bee21891fad8cdd227d69be70ac60776d7bf26b169268f
6
+ metadata.gz: b3b99d765575bc4526854ec74f3571b41181d30267f2b223a3e7e6e3a7f1194680fd0a9d99d86ab7489e20f7030a8373b7984e0dd23178e722dd7a4f2b21b52a
7
+ data.tar.gz: 03740b0613ed3fcbd37b585c86d4c47decf8a8792d7f2898ccea2f79b8e0fcd765b83b2ad0d5669e9bf05339b07fa2da74697172d7b25e1f61fe964059b0940a
@@ -1055,13 +1055,34 @@ fi
1055
1055
  end
1056
1056
  end
1057
1057
 
1058
- def reinstall
1059
- Autoproj.message " reinstalling all RubyGems"
1058
+ def build_gem_cmdlines(gems)
1059
+ with_version, without_version = gems.partition { |name, v| v }
1060
+
1061
+ cmdlines = []
1062
+ if !without_version.empty?
1063
+ cmdlines << without_version.flatten
1064
+ end
1065
+ with_version.each do |name, v|
1066
+ cmdlines << [name, "-v", v]
1067
+ end
1068
+ cmdlines
1069
+ end
1070
+
1071
+ def pristine(gems)
1072
+ guess_gem_program
1060
1073
  base_cmdline = [Autobuild.tool_in_path('ruby'), '-S', Autobuild.tool('gem')]
1061
- Autobuild::Subprocess.run 'osdeps', 'reinstall', *base_cmdline,
1062
- 'clean'
1063
- Autobuild::Subprocess.run 'osdeps', 'reinstall', *base_cmdline,
1064
- 'pristine', '--all', '--extensions'
1074
+ cmdlines = [
1075
+ [*base_cmdline, 'clean'],
1076
+ ]
1077
+ cmdlines += build_gem_cmdlines(gems).map do |line|
1078
+ base_cmdline + ["pristine", "--extensions"] + line
1079
+ end
1080
+ if gems_interaction(gems, cmdlines)
1081
+ Autoproj.message " restoring RubyGems: #{gems.map { |g| g.join(" ") }.sort.join(", ")}"
1082
+ cmdlines.each do |c|
1083
+ Autobuild::Subprocess.run 'autoproj', 'osdeps', *c
1084
+ end
1085
+ end
1065
1086
  end
1066
1087
 
1067
1088
  def install(gems)
@@ -1075,16 +1096,10 @@ fi
1075
1096
  if GemManager.with_prerelease
1076
1097
  base_cmdline << "--prerelease"
1077
1098
  end
1078
- with_version, without_version = gems.partition { |name, v| v }
1079
1099
 
1080
- cmdlines = []
1081
- if !without_version.empty?
1082
- cmdlines << (base_cmdline + without_version.flatten)
1083
- end
1084
- with_version.each do |name, v|
1085
- cmdlines << base_cmdline + [name, "-v", v]
1100
+ cmdlines = build_gem_cmdlines(gems).map do |line|
1101
+ base_cmdline + line
1086
1102
  end
1087
-
1088
1103
  if gems_interaction(gems, cmdlines)
1089
1104
  Autoproj.message " installing/updating RubyGems dependencies: #{gems.map { |g| g.join(" ") }.sort.join(", ")}"
1090
1105
 
@@ -1373,6 +1388,10 @@ fi
1373
1388
  OSDependencies.load(file)
1374
1389
  end
1375
1390
 
1391
+ def load_default
1392
+ merge(self.class.load_default)
1393
+ end
1394
+
1376
1395
  PACKAGE_HANDLERS = [PackageManagers::AptDpkgManager,
1377
1396
  PackageManagers::GemManager,
1378
1397
  PackageManagers::EmergeManager,
@@ -1465,6 +1484,14 @@ fi
1465
1484
  @filter_uptodate_packages = true
1466
1485
  end
1467
1486
 
1487
+ # Returns the name of all known OS packages
1488
+ #
1489
+ # It includes even the packages for which there are no definitions on
1490
+ # this OS
1491
+ def all_package_names
1492
+ all_definitions.keys
1493
+ end
1494
+
1468
1495
  # Returns the full path to the osdeps file from which the package
1469
1496
  # definition for +package_name+ has been taken
1470
1497
  def source_of(package_name)
@@ -2298,6 +2325,24 @@ So, what do you want ? (all, none or a comma-separated list of: os gem pip)
2298
2325
  enabled_handlers
2299
2326
  end
2300
2327
 
2328
+ # Requests that packages that are handled within the autoproj project
2329
+ # (i.e. gems) are restored to pristine condition
2330
+ #
2331
+ # This is usually called as a rebuild step to make sure that all these
2332
+ # packages are updated to whatever required the rebuild
2333
+ def pristine(packages, options = Hash.new)
2334
+ setup_package_handlers(options)
2335
+ packages = resolve_os_dependencies(packages)
2336
+
2337
+ _, other_packages =
2338
+ packages.partition { |handler, list| handler == os_package_handler }
2339
+ other_packages.each do |handler, list|
2340
+ if handler.respond_to?(:pristine)
2341
+ handler.pristine(list)
2342
+ end
2343
+ end
2344
+ end
2345
+
2301
2346
  # Requests the installation of the given set of packages
2302
2347
  def install(packages, options = Hash.new)
2303
2348
  # Remove the set of packages that have already been installed
@@ -133,11 +133,11 @@ module Autoproj
133
133
 
134
134
  # Initialize the Autoproj.osdeps object by loading the default. The
135
135
  # rest is loaded later
136
- Autoproj.osdeps = Autoproj::OSDependencies.load_default
137
- Autoproj.osdeps.silent = !osdeps?
138
- Autoproj.osdeps.filter_uptodate_packages = osdeps_filter_uptodate?
136
+ manifest.osdeps.load_default
137
+ manifest.osdeps.silent = !osdeps?
138
+ manifest.osdeps.filter_uptodate_packages = osdeps_filter_uptodate?
139
139
  if osdeps_forced_mode
140
- Autoproj.osdeps.osdeps_mode = osdeps_forced_mode
140
+ manifest.osdeps.osdeps_mode = osdeps_forced_mode
141
141
  end
142
142
 
143
143
  # Define the option NOW, as update_os_dependencies? needs to know in
@@ -146,7 +146,7 @@ module Autoproj
146
146
  # It might lead to having multiple operating system detections, but
147
147
  # that's the best I can do for now.
148
148
  Autoproj::OSDependencies.define_osdeps_mode_option
149
- Autoproj.osdeps.osdeps_mode
149
+ manifest.osdeps.osdeps_mode
150
150
 
151
151
  # Do that AFTER we have properly setup Autoproj.osdeps as to avoid
152
152
  # unnecessarily redetecting the operating system
@@ -108,12 +108,16 @@ module Autoproj
108
108
  # The VCS object for the main configuration itself
109
109
  attr_reader :vcs
110
110
 
111
+ # The definition of all OS packages available on this installation
112
+ attr_reader :osdeps
113
+
111
114
  def initialize
112
115
  @file = nil
113
116
  @data = Hash.new
114
117
  @packages = Hash.new
115
118
  @package_manifests = Hash.new
116
119
  @package_sets = []
120
+ @osdeps = OSDependencies.new
117
121
 
118
122
  @automatic_exclusions = Hash.new
119
123
  @constants_definitions = Hash.new
@@ -558,7 +562,7 @@ module Autoproj
558
562
  options = Kernel.validate_options options, :filter => true
559
563
 
560
564
  explicit_selection = explicitly_selected_package?(name)
561
- osdeps_availability = Autoproj.osdeps.availability_of(name)
565
+ osdeps_availability = osdeps.availability_of(name)
562
566
  available_as_source = Autobuild::Package[name]
563
567
 
564
568
  osdeps_overrides = Autoproj.manifest.osdeps_overrides[name]
@@ -609,9 +613,9 @@ module Autoproj
609
613
  return []
610
614
  end
611
615
  begin
612
- Autoproj.osdeps.resolve_os_dependencies([name].to_set)
616
+ osdeps.resolve_os_dependencies([name].to_set)
613
617
  rescue Autoproj::ConfigError => e
614
- if osdeps_availability != Autoproj::OSDependencies::NO_PACKAGE && !Autoproj.osdeps.os_package_handler.enabled?
618
+ if osdeps_availability != Autoproj::OSDependencies::NO_PACKAGE && !osdeps.os_package_handler.enabled?
615
619
  if !@ignored_os_dependencies.include?(name)
616
620
  Autoproj.warn "some package depends on the #{name} osdep: #{e.message}"
617
621
  Autoproj.warn "this osdeps dependency is simply ignored as you asked autoproj to not install osdeps packages"
@@ -647,7 +651,7 @@ module Autoproj
647
651
  end
648
652
  pkg_set.each_package.
649
653
  map(&:name).
650
- find_all { |pkg_name| !Autoproj.osdeps || !Autoproj.osdeps.has?(pkg_name) }
654
+ find_all { |pkg_name| !osdeps || !osdeps.has?(pkg_name) }
651
655
  end
652
656
  end
653
657
 
@@ -747,7 +751,7 @@ module Autoproj
747
751
  result |= metapackage(pkg_set.name).packages.map(&:name).to_set
748
752
  end
749
753
  result.to_a.
750
- find_all { |pkg_name| !Autoproj.osdeps || !Autoproj.osdeps.has?(pkg_name) }
754
+ find_all { |pkg_name| !osdeps.has?(pkg_name) }
751
755
  end
752
756
 
753
757
  # Returns true if +name+ is a valid package and is included in the build
@@ -758,7 +762,7 @@ module Autoproj
758
762
  # If it is false, the method will simply return false on non-defined
759
763
  # packages
760
764
  def package_enabled?(name, validate = true)
761
- if !Autobuild::Package[name] && !Autoproj.osdeps.has?(name)
765
+ if !Autobuild::Package[name] && !osdeps.has?(name)
762
766
  if validate
763
767
  raise ArgumentError, "package #{name} does not exist"
764
768
  end
@@ -928,10 +932,8 @@ module Autoproj
928
932
  return required_os_packages, package_os_deps
929
933
  end
930
934
 
931
- # Installs the OS dependencies that are required by the given packages
932
- def install_os_dependencies(packages)
933
- required_os_packages, package_os_deps = list_os_dependencies(packages)
934
- required_os_packages.delete_if do |pkg|
935
+ def filter_os_dependencies(required_os_packages, package_os_deps)
936
+ required_os_packages.find_all do |pkg|
935
937
  if excluded?(pkg)
936
938
  raise ConfigError.new, "the osdeps package #{pkg} is excluded from the build in #{file}. It is required by #{package_os_deps[pkg].join(", ")}"
937
939
  end
@@ -939,10 +941,30 @@ module Autoproj
939
941
  if Autoproj.verbose
940
942
  Autoproj.message "ignoring osdeps package #{pkg}"
941
943
  end
942
- true
944
+ false
945
+ else true
943
946
  end
944
947
  end
945
- Autoproj.osdeps.install(required_os_packages)
948
+ end
949
+
950
+ # Restores the OS dependencies required by the given packages to
951
+ # pristine conditions
952
+ #
953
+ # This is usually called as a rebuild step to make sure that all these
954
+ # packages are updated to whatever required the rebuild
955
+ def pristine_os_dependencies(packages)
956
+ required_os_packages, package_os_deps = list_os_dependencies(packages)
957
+ required_os_packages =
958
+ filter_os_dependencies(required_os_packages, package_os_deps)
959
+ osdeps.pristine(required_os_packages)
960
+ end
961
+
962
+ # Installs the OS dependencies that are required by the given packages
963
+ def install_os_dependencies(packages)
964
+ required_os_packages, package_os_deps = list_os_dependencies(packages)
965
+ required_os_packages =
966
+ filter_os_dependencies(required_os_packages, package_os_deps)
967
+ osdeps.install(required_os_packages)
946
968
  end
947
969
 
948
970
  # The set of overrides added with #add_osdeps_overrides
@@ -993,10 +1015,10 @@ module Autoproj
993
1015
  #
994
1016
  # This method converts the first two directories into the third one
995
1017
  def expand_package_selection(selection, options = Hash.new)
996
- options = Kernel.validate_options options, :filter => true
997
- base_dir = Autoproj.root_dir
1018
+ options = Kernel.validate_options options, filter: true
998
1019
 
999
1020
  result = PackageSelection.new
1021
+
1000
1022
  # All the packages that are available on this installation
1001
1023
  all_layout_packages = self.all_selected_packages
1002
1024
 
@@ -1025,25 +1047,36 @@ module Autoproj
1025
1047
 
1026
1048
  # Finally, check for package source directories
1027
1049
  all_packages = self.all_package_names
1050
+ all_osdeps_packages = osdeps.all_package_names
1051
+
1028
1052
  selection.each do |sel|
1029
1053
  match_pkg_name = Regexp.new(Regexp.quote(sel))
1030
- all_packages.each do |pkg_name|
1054
+ matching_packages = all_packages.map do |pkg_name|
1031
1055
  pkg = Autobuild::Package[pkg_name]
1032
- if pkg_name =~ match_pkg_name || "#{sel}/" =~ Regexp.new("^#{Regexp.quote(pkg.srcdir)}/") || pkg.srcdir =~ Regexp.new("^#{Regexp.quote(sel)}")
1033
- # Check-out packages that are not in the manifest only
1034
- # if they are explicitely selected. However, we do store
1035
- # them as "possible resolutions" for the user selection,
1036
- # and add them if -- at the end of the method -- nothing
1037
- # has been found for this particular selection
1038
- if !all_layout_packages.include?(pkg.name)
1039
- if pkg_name != sel && pkg.srcdir != sel
1040
- pending_selections[sel] = pkg_name
1041
- next
1042
- end
1043
- end
1044
-
1045
- result.select(sel, pkg_name)
1056
+ if pkg_name =~ match_pkg_name ||
1057
+ "#{sel}/" =~ Regexp.new("^#{Regexp.quote(pkg.srcdir)}/") ||
1058
+ pkg.srcdir =~ Regexp.new("^#{Regexp.quote(sel)}")
1059
+ [pkg_name, (pkg_name == sel || pkg.srcdir == sel)]
1046
1060
  end
1061
+ end.compact
1062
+ matching_osdeps_packages = all_osdeps_packages.find_all do |pkg_name|
1063
+ if pkg_name =~ match_pkg_name
1064
+ [pkg_name, pkg_name == sel]
1065
+ end
1066
+ end.compact
1067
+
1068
+ (matching_packages + matching_osdeps_packages).to_set.each do |pkg_name, exact_match|
1069
+ # Check-out packages that are not in the manifest only
1070
+ # if they are explicitely selected. However, we do store
1071
+ # them as "possible resolutions" for the user selection,
1072
+ # and add them if -- at the end of the method -- nothing
1073
+ # has been found for this particular selection
1074
+ if !all_layout_packages.include?(pkg_name) && !exact_match
1075
+ pending_selections[sel] = pkg_name
1076
+ next
1077
+ end
1078
+
1079
+ result.select(sel, pkg_name)
1047
1080
  end
1048
1081
  end
1049
1082
 
@@ -1137,7 +1170,13 @@ module Autoproj
1137
1170
  #
1138
1171
  # @return [OSDependencies]
1139
1172
  # @see load_osdeps_from_package_sets
1140
- attr_accessor :osdeps
1173
+ def osdeps
1174
+ manifest.osdeps
1175
+ end
1176
+
1177
+ def osdeps=(osdeps)
1178
+ raise ArgumentError, "cannot set the osdeps object explicitely anymore. Use osdeps.clear and osdeps.merge"
1179
+ end
1141
1180
 
1142
1181
  # The configuration file
1143
1182
  # @return [Configuration]
@@ -38,6 +38,7 @@ module Autoproj
38
38
  end
39
39
 
40
40
  packages = manifest.all_layout_packages
41
+ manifest.pristine_os_dependencies(packages)
41
42
  rebuild_packages(packages, packages)
42
43
  end
43
44
 
@@ -592,13 +592,34 @@ fi
592
592
  end
593
593
  end
594
594
 
595
- def reinstall
596
- Autoproj.message " reinstalling all RubyGems"
595
+ def build_gem_cmdlines(gems)
596
+ with_version, without_version = gems.partition { |name, v| v }
597
+
598
+ cmdlines = []
599
+ if !without_version.empty?
600
+ cmdlines << without_version.flatten
601
+ end
602
+ with_version.each do |name, v|
603
+ cmdlines << [name, "-v", v]
604
+ end
605
+ cmdlines
606
+ end
607
+
608
+ def pristine(gems)
609
+ guess_gem_program
597
610
  base_cmdline = [Autobuild.tool_in_path('ruby'), '-S', Autobuild.tool('gem')]
598
- Autobuild::Subprocess.run 'osdeps', 'reinstall', *base_cmdline,
599
- 'clean'
600
- Autobuild::Subprocess.run 'osdeps', 'reinstall', *base_cmdline,
601
- 'pristine', '--all', '--extensions'
611
+ cmdlines = [
612
+ [*base_cmdline, 'clean'],
613
+ ]
614
+ cmdlines += build_gem_cmdlines(gems).map do |line|
615
+ base_cmdline + ["pristine", "--extensions"] + line
616
+ end
617
+ if gems_interaction(gems, cmdlines)
618
+ Autoproj.message " restoring RubyGems: #{gems.map { |g| g.join(" ") }.sort.join(", ")}"
619
+ cmdlines.each do |c|
620
+ Autobuild::Subprocess.run 'autoproj', 'osdeps', *c
621
+ end
622
+ end
602
623
  end
603
624
 
604
625
  def install(gems)
@@ -612,16 +633,10 @@ fi
612
633
  if GemManager.with_prerelease
613
634
  base_cmdline << "--prerelease"
614
635
  end
615
- with_version, without_version = gems.partition { |name, v| v }
616
636
 
617
- cmdlines = []
618
- if !without_version.empty?
619
- cmdlines << (base_cmdline + without_version.flatten)
620
- end
621
- with_version.each do |name, v|
622
- cmdlines << base_cmdline + [name, "-v", v]
637
+ cmdlines = build_gem_cmdlines(gems).map do |line|
638
+ base_cmdline + line
623
639
  end
624
-
625
640
  if gems_interaction(gems, cmdlines)
626
641
  Autoproj.message " installing/updating RubyGems dependencies: #{gems.map { |g| g.join(" ") }.sort.join(", ")}"
627
642
 
@@ -910,6 +925,10 @@ fi
910
925
  OSDependencies.load(file)
911
926
  end
912
927
 
928
+ def load_default
929
+ merge(self.class.load_default)
930
+ end
931
+
913
932
  PACKAGE_HANDLERS = [PackageManagers::AptDpkgManager,
914
933
  PackageManagers::GemManager,
915
934
  PackageManagers::EmergeManager,
@@ -1002,6 +1021,14 @@ fi
1002
1021
  @filter_uptodate_packages = true
1003
1022
  end
1004
1023
 
1024
+ # Returns the name of all known OS packages
1025
+ #
1026
+ # It includes even the packages for which there are no definitions on
1027
+ # this OS
1028
+ def all_package_names
1029
+ all_definitions.keys
1030
+ end
1031
+
1005
1032
  # Returns the full path to the osdeps file from which the package
1006
1033
  # definition for +package_name+ has been taken
1007
1034
  def source_of(package_name)
@@ -1835,6 +1862,24 @@ So, what do you want ? (all, none or a comma-separated list of: os gem pip)
1835
1862
  enabled_handlers
1836
1863
  end
1837
1864
 
1865
+ # Requests that packages that are handled within the autoproj project
1866
+ # (i.e. gems) are restored to pristine condition
1867
+ #
1868
+ # This is usually called as a rebuild step to make sure that all these
1869
+ # packages are updated to whatever required the rebuild
1870
+ def pristine(packages, options = Hash.new)
1871
+ setup_package_handlers(options)
1872
+ packages = resolve_os_dependencies(packages)
1873
+
1874
+ _, other_packages =
1875
+ packages.partition { |handler, list| handler == os_package_handler }
1876
+ other_packages.each do |handler, list|
1877
+ if handler.respond_to?(:pristine)
1878
+ handler.pristine(list)
1879
+ end
1880
+ end
1881
+ end
1882
+
1838
1883
  # Requests the installation of the given set of packages
1839
1884
  def install(packages, options = Hash.new)
1840
1885
  # Remove the set of packages that have already been installed
@@ -23,13 +23,6 @@ module Autoproj
23
23
  # set of user-provided strings that caused that package to be
24
24
  # selected
25
25
  attr_reader :selection
26
- # The set of osdeps matches, i.e. a mapping from a user-provided string to
27
- # the set of packages it selected
28
- attr_reader :osdeps_matches
29
- # The set of selected osdeps packages, as a hash of the package name
30
- # to the set of user-provided strings that caused that package to be
31
- # selected
32
- attr_reader :osdeps_selection
33
26
  # A flag that tells #filter_excluded_and_ignored_packages whether
34
27
  # the a given package selection is weak or not.
35
28
  #
@@ -48,8 +41,6 @@ module Autoproj
48
41
  def initialize
49
42
  @selection = Hash.new { |h, k| h[k] = Set.new }
50
43
  @matches = Hash.new { |h, k| h[k] = Set.new }
51
- @osdeps_matches = Hash.new { |h, k| h[k] = Set.new }
52
- @osdeps_selection = Hash.new { |h, k| h[k] = Set.new }
53
44
  @weak_dependencies = Hash.new
54
45
  @ignores = Hash.new { |h, k| h[k] = Set.new }
55
46
  @exclusions = Hash.new { |h, k| h[k] = Set.new }
@@ -60,13 +51,8 @@ module Autoproj
60
51
  selection.keys
61
52
  end
62
53
 
63
- # The set of packages that have been selected
64
- def osdeps_packages
65
- osdeps_selection.keys
66
- end
67
-
68
54
  def include?(pkg_name)
69
- selection.has_key?(pkg_name) || osdeps_selection.has_key?(pkg_name)
55
+ selection.has_key?(pkg_name)
70
56
  end
71
57
 
72
58
  def empty?
@@ -331,7 +331,12 @@ module Autoproj
331
331
  def parse_source_definition
332
332
  @name = source_definition['name']
333
333
  @provides = (source_definition['provides'] || Set.new).to_set
334
- @imports_vcs = (source_definition['imports'] || Array.new).map do |set_def|
334
+ @imports_vcs = Array(source_definition['imports'] || Array.new).map do |set_def|
335
+ if !set_def.kind_of?(Hash)
336
+ raise ConfigError.new(source_file),
337
+ "in #{source_file}: wrong format for 'imports' section. Expected an array of maps (e.g. - github: my/url)."
338
+ end
339
+
335
340
  Autoproj.in_file(source_file) do
336
341
  PackageSet.resolve_definition(manifest, set_def)
337
342
  end
@@ -1,3 +1,3 @@
1
1
  module Autoproj
2
- VERSION = "1.11.0.rc15"
2
+ VERSION = "1.12.0"
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: 1.11.0.rc15
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rock Core Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-17 00:00:00.000000000 Z
11
+ date: 2014-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autobuild
@@ -216,9 +216,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
216
  version: 1.9.2
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - ">"
219
+ - - ">="
220
220
  - !ruby/object:Gem::Version
221
- version: 1.3.1
221
+ version: '0'
222
222
  requirements: []
223
223
  rubyforge_project:
224
224
  rubygems_version: 2.2.2