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 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/openbsd_pkg_spec.rb
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
@@ -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
@@ -2,7 +2,7 @@ module Sprinkle #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 1
5
+ TINY = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/sprinkle.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{sprinkle}
3
- s.version = "0.2.1"
3
+ s.version = "0.2.2"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["Marcus Crafter", "Mitchell Hashimoto"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crafterm-sprinkle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcus Crafter