crafterm-sprinkle 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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