crafterm-sprinkle 0.1.9 → 0.2.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.
@@ -18,7 +18,11 @@ module Sprinkle
18
18
  class Local
19
19
 
20
20
  def process(name, commands, roles, suppress_and_return_failures = false) #:nodoc:
21
- commands.each { |command| system command }
21
+ commands.each do |command|
22
+ system command
23
+ return false if $?.to_i != 0
24
+ end
25
+ return true
22
26
  end
23
27
 
24
28
  end
@@ -53,6 +53,7 @@ module Sprinkle
53
53
  cmd << " --version '#{version}'" if version
54
54
  cmd << " --source #{source}" if source
55
55
  cmd << " --install-dir #{repository}" if option?(:repository)
56
+ cmd << " --no-rdoc --no-ri" unless option?(:build_docs)
56
57
  cmd
57
58
  end
58
59
 
@@ -13,16 +13,23 @@ module Sprinkle
13
13
  # rake 'spec'
14
14
  # end
15
15
  #
16
+ # Specify a Rakefile with the :rakefile option.
17
+ #
18
+ # package :spec, :rakefile => "/var/setup/Rakefile" do
19
+ # rake 'spec'
20
+ # end
21
+
16
22
  class Rake < Installer
17
- def initialize(parent, commands = [], &block) #:nodoc:
18
- super parent, &block
19
- @commands = commands
23
+ def initialize(parent, commands, options = {}, &block) #:nodoc:
24
+ super parent, options, &block
25
+ @commands = commands.to_a
20
26
  end
21
27
 
22
28
  protected
23
29
 
24
30
  def install_commands #:nodoc:
25
- "rake #{@commands.join(' ')}"
31
+ file = @options[:rakefile] ? "-f #{@options[:rakefile]} " : ""
32
+ "rake #{file}#{@commands.join(' ')}"
26
33
  end
27
34
 
28
35
  end
@@ -146,6 +146,10 @@ module Sprinkle
146
146
  @installer = Sprinkle::Installers::Source.new(self, source, options, &block)
147
147
  end
148
148
 
149
+ def rake(name, options = {}, &block)
150
+ @installer = Sprinkle::Installers::Rake.new(self, name, options, &block)
151
+ end
152
+
149
153
  def verify(description = '', &block)
150
154
  @verifications << Sprinkle::Verify.new(self, description, &block)
151
155
  end
@@ -1,8 +1,8 @@
1
1
  module Sprinkle #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 1
5
- TINY = 9
4
+ MINOR = 2
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -49,11 +49,11 @@ describe Sprinkle::Installers::Gem do
49
49
  end
50
50
 
51
51
  it 'should invoke the gem installer for the specified package' do
52
- @installer.send(:install_commands).should == "gem install #{@gem}"
52
+ @installer.send(:install_commands).should == "gem install #{@gem} --no-rdoc --no-ri"
53
53
  end
54
54
 
55
55
  it 'should automatically insert pre/post commands for the specified package' do
56
- @installer.send(:install_sequence).should == [ 'op1', "gem install #{@gem}", 'op2' ]
56
+ @installer.send(:install_sequence).should == [ 'op1', "gem install #{@gem} --no-rdoc --no-ri", 'op2']
57
57
  end
58
58
 
59
59
  end
@@ -61,10 +61,10 @@ describe Sprinkle::Installers::Gem do
61
61
  describe 'with a specific version' do
62
62
 
63
63
  before do
64
- @installer = create_gem @gem, @version
64
+ @installer = create_gem @gem, @version, :build_docs => true
65
65
  end
66
66
 
67
- it 'should install a specific version if defined' do
67
+ it 'should install a specific version if defined, and with docs' do
68
68
  @installer.send(:install_commands).should == "gem install #{@gem} --version '#{@version}'"
69
69
  end
70
70
 
@@ -0,0 +1,29 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Sprinkle::Installers::Rake do
4
+
5
+ before do
6
+ @package = mock(Sprinkle::Package, :name => 'spec')
7
+ end
8
+
9
+ def create_rake(names, options = {}, &block)
10
+ Sprinkle::Installers::Rake.new(@package, names, options, &block)
11
+ end
12
+
13
+ describe 'during installation' do
14
+
15
+ it 'should invoke the rake executer for all specified tasks' do
16
+ @installer = create_rake 'spec'
17
+ @install_commands = @installer.send :install_commands
18
+ @install_commands.should =~ /rake spec/
19
+ end
20
+
21
+ it 'should invoke the rake executer for all specified tasks' do
22
+ @installer = create_rake 'spec', :rakefile => '/some/Rakefile'
23
+ @install_commands = @installer.send :install_commands
24
+ @install_commands.should == "rake -f /some/Rakefile spec"
25
+ end
26
+
27
+ end
28
+
29
+ end
data/sprinkle.gemspec CHANGED
@@ -1,22 +1,49 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{sprinkle}
3
- s.version = "0.1.9"
3
+ s.version = "0.2.0"
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"]
7
- s.date = %q{2008-11-04}
7
+ s.date = %q{2008-11-25}
8
8
  s.default_executable = %q{sprinkle}
9
9
  s.description = %q{Ruby DSL based software provisioning tool}
10
10
  s.email = ["crafterm@redartisan.com", "mitchell.hashimoto@citrusbyte.com"]
11
11
  s.executables = ["sprinkle"]
12
12
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt"]
13
- s.files = ["CREDITS", "History.txt", "MIT-LICENSE", "Manifest.txt", "README.txt", "Rakefile", "bin/sprinkle", "config/hoe.rb", "config/requirements.rb", "examples/packages/build_essential.rb", "examples/packages/databases/mysql.rb", "examples/packages/databases/sqlite3.rb", "examples/packages/phusion.rb", "examples/packages/ruby/rails.rb", "examples/packages/ruby/ruby.rb", "examples/packages/ruby/rubygems.rb", "examples/packages/scm/git.rb", "examples/packages/scm/subversion.rb", "examples/packages/servers/apache.rb", "examples/rails/README", "examples/rails/deploy.rb", "examples/rails/packages/database.rb", "examples/rails/packages/essential.rb", "examples/rails/packages/rails.rb", "examples/rails/packages/scm.rb", "examples/rails/packages/search.rb", "examples/rails/packages/server.rb", "examples/rails/rails.rb", "examples/sprinkle/sprinkle.rb", "lib/sprinkle.rb", "lib/sprinkle/actors/actors.rb", "lib/sprinkle/actors/capistrano.rb", "lib/sprinkle/actors/local.rb", "lib/sprinkle/actors/ssh.rb", "lib/sprinkle/actors/vlad.rb", "lib/sprinkle/configurable.rb", "lib/sprinkle/deployment.rb", "lib/sprinkle/extensions/arbitrary_options.rb", "lib/sprinkle/extensions/array.rb", "lib/sprinkle/extensions/blank_slate.rb", "lib/sprinkle/extensions/dsl_accessor.rb", "lib/sprinkle/extensions/string.rb", "lib/sprinkle/extensions/symbol.rb", "lib/sprinkle/installers/apt.rb", "lib/sprinkle/installers/deb.rb", "lib/sprinkle/installers/gem.rb", "lib/sprinkle/installers/installer.rb", "lib/sprinkle/installers/rake.rb", "lib/sprinkle/installers/rpm.rb", "lib/sprinkle/installers/source.rb", "lib/sprinkle/installers/yum.rb", "lib/sprinkle/package.rb", "lib/sprinkle/policy.rb", "lib/sprinkle/script.rb", "lib/sprinkle/verifiers/directory.rb", "lib/sprinkle/verifiers/executable.rb", "lib/sprinkle/verifiers/file.rb", "lib/sprinkle/verifiers/process.rb", "lib/sprinkle/verifiers/ruby.rb", "lib/sprinkle/verifiers/symlink.rb", "lib/sprinkle/verify.rb", "lib/sprinkle/version.rb", "script/destroy", "script/generate", "spec/spec.opts", "spec/spec_helper.rb", "spec/sprinkle/actors/capistrano_spec.rb", "spec/sprinkle/actors/local_spec.rb", "spec/sprinkle/configurable_spec.rb", "spec/sprinkle/deployment_spec.rb", "spec/sprinkle/extensions/array_spec.rb", "spec/sprinkle/extensions/string_spec.rb", "spec/sprinkle/installers/apt_spec.rb", "spec/sprinkle/installers/gem_spec.rb", "spec/sprinkle/installers/installer_spec.rb", "spec/sprinkle/installers/rpm_spec.rb", "spec/sprinkle/installers/yum_spec.rb", "spec/sprinkle/installers/source_spec.rb", "spec/sprinkle/package_spec.rb", "spec/sprinkle/policy_spec.rb", "spec/sprinkle/script_spec.rb", "spec/sprinkle/sprinkle_spec.rb", "spec/sprinkle/verify_spec.rb", "sprinkle.gemspec", "tasks/deployment.rake", "tasks/environment.rake", "tasks/rspec.rake"]
13
+ s.files = ["CREDITS", "History.txt", "MIT-LICENSE", "Manifest.txt", "README.txt", "Rakefile", "bin/sprinkle",
14
+ "config/hoe.rb", "config/requirements.rb", "examples/packages/build_essential.rb",
15
+ "examples/packages/databases/mysql.rb", "examples/packages/databases/sqlite3.rb",
16
+ "examples/packages/phusion.rb", "examples/packages/ruby/rails.rb", "examples/packages/ruby/ruby.rb",
17
+ "examples/packages/ruby/rubygems.rb", "examples/packages/scm/git.rb", "examples/packages/scm/subversion.rb",
18
+ "examples/packages/servers/apache.rb", "examples/rails/README", "examples/rails/deploy.rb",
19
+ "examples/rails/packages/database.rb", "examples/rails/packages/essential.rb", "examples/rails/packages/rails.rb",
20
+ "examples/rails/packages/scm.rb", "examples/rails/packages/search.rb", "examples/rails/packages/server.rb",
21
+ "examples/rails/rails.rb", "examples/sprinkle/sprinkle.rb", "lib/sprinkle.rb", "lib/sprinkle/actors/actors.rb",
22
+ "lib/sprinkle/actors/capistrano.rb", "lib/sprinkle/actors/local.rb", "lib/sprinkle/actors/ssh.rb", "lib/sprinkle/actors/vlad.rb",
23
+ "lib/sprinkle/configurable.rb", "lib/sprinkle/deployment.rb", "lib/sprinkle/extensions/arbitrary_options.rb",
24
+ "lib/sprinkle/extensions/array.rb", "lib/sprinkle/extensions/blank_slate.rb", "lib/sprinkle/extensions/dsl_accessor.rb",
25
+ "lib/sprinkle/extensions/string.rb", "lib/sprinkle/extensions/symbol.rb", "lib/sprinkle/installers/apt.rb",
26
+ "lib/sprinkle/installers/deb.rb", "lib/sprinkle/installers/gem.rb", "lib/sprinkle/installers/installer.rb",
27
+ "lib/sprinkle/installers/rake.rb", "lib/sprinkle/installers/rpm.rb", "lib/sprinkle/installers/source.rb",
28
+ "lib/sprinkle/installers/yum.rb", "lib/sprinkle/package.rb", "lib/sprinkle/policy.rb", "lib/sprinkle/script.rb",
29
+ "lib/sprinkle/verifiers/directory.rb", "lib/sprinkle/verifiers/executable.rb", "lib/sprinkle/verifiers/file.rb",
30
+ "lib/sprinkle/verifiers/process.rb", "lib/sprinkle/verifiers/ruby.rb", "lib/sprinkle/verifiers/symlink.rb",
31
+ "lib/sprinkle/verify.rb", "lib/sprinkle/version.rb", "script/destroy", "script/generate", "sprinkle.gemspec",
32
+ "tasks/deployment.rake", "tasks/environment.rake", "tasks/rspec.rake"]
33
+
34
+ s.test_files = ["spec/spec.opts", "spec/spec_helper.rb", "spec/sprinkle/actors/capistrano_spec.rb",
35
+ "spec/sprinkle/actors/local_spec.rb", "spec/sprinkle/configurable_spec.rb", "spec/sprinkle/deployment_spec.rb",
36
+ "spec/sprinkle/extensions/array_spec.rb", "spec/sprinkle/extensions/string_spec.rb", "spec/sprinkle/installers/apt_spec.rb",
37
+ "spec/sprinkle/installers/gem_spec.rb", "spec/sprinkle/installers/installer_spec.rb", "spec/sprinkle/installers/rpm_spec.rb",
38
+ "spec/sprinkle/installers/yum_spec.rb", "spec/sprinkle/installers/source_spec.rb", "spec/sprinkle/package_spec.rb",
39
+ "spec/sprinkle/policy_spec.rb", "spec/sprinkle/script_spec.rb", "spec/sprinkle/sprinkle_spec.rb",
40
+ "spec/sprinkle/installers/rake_spec.rb", "spec/sprinkle/verify_spec.rb"]
14
41
  s.has_rdoc = true
15
42
  s.homepage = %q{http://sprinkle.rubyforge.org}
16
43
  s.rdoc_options = ["--main", "README.txt"]
17
44
  s.require_paths = ["lib"]
18
45
  s.rubyforge_project = %q{sprinkle}
19
- s.rubygems_version = %q{1.2.0}
46
+ s.rubygems_version = %q{1.3.0}
20
47
  s.summary = %q{Ruby DSL based software provisioning tool}
21
48
 
22
49
  if s.respond_to? :specification_version then
@@ -28,6 +55,7 @@ Gem::Specification.new do |s|
28
55
  s.add_runtime_dependency(%q<highline>, [">= 1.4.0"])
29
56
  s.add_runtime_dependency(%q<capistrano>, [">= 2.2.0"])
30
57
  s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
58
+ s.add_development_dependency(%q<echoe>, [">= 3.0.2"])
31
59
  else
32
60
  s.add_dependency(%q<activesupport>, [">= 2.0.2"])
33
61
  s.add_dependency(%q<highline>, [">= 1.4.0"])
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.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcus Crafter
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2008-11-04 00:00:00 -08:00
13
+ date: 2008-11-25 00:00:00 -08:00
14
14
  default_executable: sprinkle
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -126,25 +126,6 @@ files:
126
126
  - lib/sprinkle/version.rb
127
127
  - script/destroy
128
128
  - script/generate
129
- - spec/spec.opts
130
- - spec/spec_helper.rb
131
- - spec/sprinkle/actors/capistrano_spec.rb
132
- - spec/sprinkle/actors/local_spec.rb
133
- - spec/sprinkle/configurable_spec.rb
134
- - spec/sprinkle/deployment_spec.rb
135
- - spec/sprinkle/extensions/array_spec.rb
136
- - spec/sprinkle/extensions/string_spec.rb
137
- - spec/sprinkle/installers/apt_spec.rb
138
- - spec/sprinkle/installers/gem_spec.rb
139
- - spec/sprinkle/installers/installer_spec.rb
140
- - spec/sprinkle/installers/rpm_spec.rb
141
- - spec/sprinkle/installers/yum_spec.rb
142
- - spec/sprinkle/installers/source_spec.rb
143
- - spec/sprinkle/package_spec.rb
144
- - spec/sprinkle/policy_spec.rb
145
- - spec/sprinkle/script_spec.rb
146
- - spec/sprinkle/sprinkle_spec.rb
147
- - spec/sprinkle/verify_spec.rb
148
129
  - sprinkle.gemspec
149
130
  - tasks/deployment.rake
150
131
  - tasks/environment.rake
@@ -176,5 +157,24 @@ rubygems_version: 1.2.0
176
157
  signing_key:
177
158
  specification_version: 2
178
159
  summary: Ruby DSL based software provisioning tool
179
- test_files: []
180
-
160
+ test_files:
161
+ - spec/spec.opts
162
+ - spec/spec_helper.rb
163
+ - spec/sprinkle/actors/capistrano_spec.rb
164
+ - spec/sprinkle/actors/local_spec.rb
165
+ - spec/sprinkle/configurable_spec.rb
166
+ - spec/sprinkle/deployment_spec.rb
167
+ - spec/sprinkle/extensions/array_spec.rb
168
+ - spec/sprinkle/extensions/string_spec.rb
169
+ - spec/sprinkle/installers/apt_spec.rb
170
+ - spec/sprinkle/installers/gem_spec.rb
171
+ - spec/sprinkle/installers/installer_spec.rb
172
+ - spec/sprinkle/installers/rpm_spec.rb
173
+ - spec/sprinkle/installers/yum_spec.rb
174
+ - spec/sprinkle/installers/source_spec.rb
175
+ - spec/sprinkle/package_spec.rb
176
+ - spec/sprinkle/policy_spec.rb
177
+ - spec/sprinkle/script_spec.rb
178
+ - spec/sprinkle/sprinkle_spec.rb
179
+ - spec/sprinkle/installers/rake_spec.rb
180
+ - spec/sprinkle/verify_spec.rb