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.
- data/lib/sprinkle/actors/local.rb +5 -1
- data/lib/sprinkle/installers/gem.rb +1 -0
- data/lib/sprinkle/installers/rake.rb +11 -4
- data/lib/sprinkle/package.rb +4 -0
- data/lib/sprinkle/version.rb +2 -2
- data/spec/sprinkle/installers/gem_spec.rb +4 -4
- data/spec/sprinkle/installers/rake_spec.rb +29 -0
- data/sprinkle.gemspec +32 -4
- metadata +23 -23
@@ -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
|
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
|
@@ -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 =
|
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
|
-
"
|
31
|
+
file = @options[:rakefile] ? "-f #{@options[:rakefile]} " : ""
|
32
|
+
"rake #{file}#{@commands.join(' ')}"
|
26
33
|
end
|
27
34
|
|
28
35
|
end
|
data/lib/sprinkle/package.rb
CHANGED
@@ -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
|
data/lib/sprinkle/version.rb
CHANGED
@@ -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.
|
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-
|
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",
|
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.
|
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.
|
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-
|
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
|