crafterm-sprinkle 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +14 -10
- data/lib/sprinkle/package.rb +18 -0
- data/lib/sprinkle/version.rb +1 -1
- data/sprinkle.gemspec +1 -1
- metadata +1 -1
data/Manifest.txt
CHANGED
@@ -42,18 +42,19 @@ lib/sprinkle/extensions/dsl_accessor.rb
|
|
42
42
|
lib/sprinkle/extensions/string.rb
|
43
43
|
lib/sprinkle/extensions/symbol.rb
|
44
44
|
lib/sprinkle/installers/apt.rb
|
45
|
+
lib/sprinkle/installers/bsd_port.rb
|
45
46
|
lib/sprinkle/installers/deb.rb
|
47
|
+
lib/sprinkle/installers/freebsd_pkg.rb
|
46
48
|
lib/sprinkle/installers/gem.rb
|
47
49
|
lib/sprinkle/installers/installer.rb
|
50
|
+
lib/sprinkle/installers/mac_port.rb
|
51
|
+
lib/sprinkle/installers/openbsd_pkg.rb
|
52
|
+
lib/sprinkle/installers/opensolaris_pkg.rb
|
53
|
+
lib/sprinkle/installers/push_text.rb
|
48
54
|
lib/sprinkle/installers/rake.rb
|
49
55
|
lib/sprinkle/installers/rpm.rb
|
50
56
|
lib/sprinkle/installers/source.rb
|
51
57
|
lib/sprinkle/installers/yum.rb
|
52
|
-
lib/sprinkle/installers/freebsd_pkg.rb
|
53
|
-
lib/sprinkle/installers/openbsd_pkg.rb
|
54
|
-
lib/sprinkle/installers/opensolaris_pkg.rb
|
55
|
-
lib/sprinkle/installers/bsd_port.rb
|
56
|
-
lib/sprinkle/installers/mac_port.rb
|
57
58
|
lib/sprinkle/package.rb
|
58
59
|
lib/sprinkle/policy.rb
|
59
60
|
lib/sprinkle/script.rb
|
@@ -76,15 +77,18 @@ spec/sprinkle/deployment_spec.rb
|
|
76
77
|
spec/sprinkle/extensions/array_spec.rb
|
77
78
|
spec/sprinkle/extensions/string_spec.rb
|
78
79
|
spec/sprinkle/installers/apt_spec.rb
|
80
|
+
spec/sprinkle/installers/bsd_port_spec.rb
|
81
|
+
spec/sprinkle/installers/freebsd_pkg_spec.rb
|
79
82
|
spec/sprinkle/installers/gem_spec.rb
|
80
83
|
spec/sprinkle/installers/installer_spec.rb
|
84
|
+
spec/sprinkle/installers/mac_port_spec.rb
|
85
|
+
spec/sprinkle/installers/openbsd_pkg_spec.rb
|
86
|
+
spec/sprinkle/installers/opensolaris_pkg_spec.rb
|
87
|
+
spec/sprinkle/installers/push_text_spec.rb
|
88
|
+
spec/sprinkle/installers/rake_spec.rb
|
81
89
|
spec/sprinkle/installers/rpm_spec.rb
|
82
|
-
spec/sprinkle/installers/yum_spec.rb
|
83
90
|
spec/sprinkle/installers/source_spec.rb
|
84
|
-
spec/sprinkle/installers/
|
85
|
-
spec/sprinkle/installers/freebsd_pkg_spec.rb
|
86
|
-
spec/sprinkle/installers/bsd_port_spec.rb
|
87
|
-
spec/sprinkle/installers/mac_port_spec.rb
|
91
|
+
spec/sprinkle/installers/yum_spec.rb
|
88
92
|
spec/sprinkle/package_spec.rb
|
89
93
|
spec/sprinkle/policy_spec.rb
|
90
94
|
spec/sprinkle/script_spec.rb
|
data/lib/sprinkle/package.rb
CHANGED
@@ -237,6 +237,8 @@ module Sprinkle
|
|
237
237
|
|
238
238
|
@dependencies.each do |dep|
|
239
239
|
package = PACKAGES[dep]
|
240
|
+
package = select_package(dep, package) if package.is_a? Array
|
241
|
+
|
240
242
|
raise "Package definition not found for key: #{dep}" unless package
|
241
243
|
block.call(self, package, depth) if block
|
242
244
|
packages << package.tree(depth + 1, &block)
|
@@ -249,6 +251,22 @@ module Sprinkle
|
|
249
251
|
|
250
252
|
private
|
251
253
|
|
254
|
+
def select_package(name, packages)
|
255
|
+
if packages.size <= 1
|
256
|
+
package = packages.first
|
257
|
+
else
|
258
|
+
package = choose do |menu|
|
259
|
+
menu.prompt = "Multiple choices exist for virtual package #{name}"
|
260
|
+
menu.choices *packages.collect(&:to_s)
|
261
|
+
end
|
262
|
+
package = Sprinkle::Package::PACKAGES[package]
|
263
|
+
end
|
264
|
+
|
265
|
+
cloud_info "Selecting #{package.to_s} for virtual package #{name}"
|
266
|
+
|
267
|
+
package
|
268
|
+
end
|
269
|
+
|
252
270
|
def meta_package?
|
253
271
|
@installer == nil
|
254
272
|
end
|
data/lib/sprinkle/version.rb
CHANGED
data/sprinkle.gemspec
CHANGED