autoproj 1.11.0.rc15 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/autoproj_bootstrap +59 -14
- data/lib/autoproj/cmdline.rb +5 -5
- data/lib/autoproj/manifest.rb +69 -30
- data/lib/autoproj/ops/build.rb +1 -0
- data/lib/autoproj/osdeps.rb +59 -14
- data/lib/autoproj/package_selection.rb +1 -15
- data/lib/autoproj/package_set.rb +6 -1
- data/lib/autoproj/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc64d6f9ced9d44cb201ab31f5dbf2a84bdef777
|
4
|
+
data.tar.gz: ea6d4f3c3d2db15a084c9d3348780dddd893d975
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3b99d765575bc4526854ec74f3571b41181d30267f2b223a3e7e6e3a7f1194680fd0a9d99d86ab7489e20f7030a8373b7984e0dd23178e722dd7a4f2b21b52a
|
7
|
+
data.tar.gz: 03740b0613ed3fcbd37b585c86d4c47decf8a8792d7f2898ccea2f79b8e0fcd765b83b2ad0d5669e9bf05339b07fa2da74697172d7b25e1f61fe964059b0940a
|
data/bin/autoproj_bootstrap
CHANGED
@@ -1055,13 +1055,34 @@ fi
|
|
1055
1055
|
end
|
1056
1056
|
end
|
1057
1057
|
|
1058
|
-
def
|
1059
|
-
|
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
|
-
|
1062
|
-
'clean'
|
1063
|
-
|
1064
|
-
|
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
|
-
|
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
|
data/lib/autoproj/cmdline.rb
CHANGED
@@ -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
|
-
|
137
|
-
|
138
|
-
|
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
|
-
|
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
|
-
|
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
|
data/lib/autoproj/manifest.rb
CHANGED
@@ -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 =
|
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
|
-
|
616
|
+
osdeps.resolve_os_dependencies([name].to_set)
|
613
617
|
rescue Autoproj::ConfigError => e
|
614
|
-
if osdeps_availability != Autoproj::OSDependencies::NO_PACKAGE && !
|
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| !
|
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| !
|
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] && !
|
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
|
-
|
932
|
-
|
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
|
-
|
944
|
+
false
|
945
|
+
else true
|
943
946
|
end
|
944
947
|
end
|
945
|
-
|
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, :
|
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.
|
1054
|
+
matching_packages = all_packages.map do |pkg_name|
|
1031
1055
|
pkg = Autobuild::Package[pkg_name]
|
1032
|
-
if pkg_name =~ match_pkg_name ||
|
1033
|
-
#
|
1034
|
-
|
1035
|
-
|
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
|
-
|
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]
|
data/lib/autoproj/ops/build.rb
CHANGED
data/lib/autoproj/osdeps.rb
CHANGED
@@ -592,13 +592,34 @@ fi
|
|
592
592
|
end
|
593
593
|
end
|
594
594
|
|
595
|
-
def
|
596
|
-
|
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
|
-
|
599
|
-
'clean'
|
600
|
-
|
601
|
-
|
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
|
-
|
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)
|
55
|
+
selection.has_key?(pkg_name)
|
70
56
|
end
|
71
57
|
|
72
58
|
def empty?
|
data/lib/autoproj/package_set.rb
CHANGED
@@ -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
|
data/lib/autoproj/version.rb
CHANGED
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.
|
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-
|
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:
|
221
|
+
version: '0'
|
222
222
|
requirements: []
|
223
223
|
rubyforge_project:
|
224
224
|
rubygems_version: 2.2.2
|