crafterm-sprinkle 0.2.1 → 0.2.2
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.
- 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