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.
- 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
|