jsierles-sprinkle 0.1.9
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/CREDITS +19 -0
- data/History.txt +4 -0
- data/MIT-LICENSE +20 -0
- data/Manifest.txt +87 -0
- data/README.txt +238 -0
- data/Rakefile +4 -0
- data/bin/sprinkle +86 -0
- data/config/hoe.rb +70 -0
- data/config/requirements.rb +17 -0
- data/examples/packages/build_essential.rb +9 -0
- data/examples/packages/databases/mysql.rb +13 -0
- data/examples/packages/databases/sqlite3.rb +16 -0
- data/examples/packages/phusion.rb +55 -0
- data/examples/packages/ruby/rails.rb +9 -0
- data/examples/packages/ruby/ruby.rb +17 -0
- data/examples/packages/ruby/rubygems.rb +17 -0
- data/examples/packages/scm/git.rb +11 -0
- data/examples/packages/scm/subversion.rb +4 -0
- data/examples/packages/servers/apache.rb +15 -0
- data/examples/rails/README +15 -0
- data/examples/rails/deploy.rb +2 -0
- data/examples/rails/packages/database.rb +9 -0
- data/examples/rails/packages/essential.rb +9 -0
- data/examples/rails/packages/rails.rb +28 -0
- data/examples/rails/packages/scm.rb +11 -0
- data/examples/rails/packages/search.rb +11 -0
- data/examples/rails/packages/server.rb +28 -0
- data/examples/rails/rails.rb +73 -0
- data/examples/sprinkle/sprinkle.rb +38 -0
- data/lib/sprinkle.rb +32 -0
- data/lib/sprinkle/actors/actors.rb +17 -0
- data/lib/sprinkle/actors/capistrano.rb +117 -0
- data/lib/sprinkle/actors/local.rb +26 -0
- data/lib/sprinkle/actors/ssh.rb +81 -0
- data/lib/sprinkle/actors/vlad.rb +65 -0
- data/lib/sprinkle/configurable.rb +31 -0
- data/lib/sprinkle/deployment.rb +73 -0
- data/lib/sprinkle/extensions/arbitrary_options.rb +10 -0
- data/lib/sprinkle/extensions/array.rb +5 -0
- data/lib/sprinkle/extensions/blank_slate.rb +5 -0
- data/lib/sprinkle/extensions/dsl_accessor.rb +15 -0
- data/lib/sprinkle/extensions/string.rb +10 -0
- data/lib/sprinkle/extensions/symbol.rb +7 -0
- data/lib/sprinkle/installers/apt.rb +52 -0
- data/lib/sprinkle/installers/deb.rb +38 -0
- data/lib/sprinkle/installers/gem.rb +62 -0
- data/lib/sprinkle/installers/installer.rb +120 -0
- data/lib/sprinkle/installers/rake.rb +37 -0
- data/lib/sprinkle/installers/rpm.rb +37 -0
- data/lib/sprinkle/installers/source.rb +179 -0
- data/lib/sprinkle/installers/yum.rb +37 -0
- data/lib/sprinkle/package.rb +233 -0
- data/lib/sprinkle/policy.rb +125 -0
- data/lib/sprinkle/script.rb +23 -0
- data/lib/sprinkle/verifiers/directory.rb +16 -0
- data/lib/sprinkle/verifiers/executable.rb +36 -0
- data/lib/sprinkle/verifiers/file.rb +20 -0
- data/lib/sprinkle/verifiers/process.rb +21 -0
- data/lib/sprinkle/verifiers/ruby.rb +25 -0
- data/lib/sprinkle/verifiers/symlink.rb +30 -0
- data/lib/sprinkle/verify.rb +114 -0
- data/lib/sprinkle/version.rb +9 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/sprinkle/actors/capistrano_spec.rb +170 -0
- data/spec/sprinkle/actors/local_spec.rb +29 -0
- data/spec/sprinkle/configurable_spec.rb +46 -0
- data/spec/sprinkle/deployment_spec.rb +80 -0
- data/spec/sprinkle/extensions/array_spec.rb +19 -0
- data/spec/sprinkle/extensions/string_spec.rb +21 -0
- data/spec/sprinkle/installers/apt_spec.rb +70 -0
- data/spec/sprinkle/installers/gem_spec.rb +75 -0
- data/spec/sprinkle/installers/installer_spec.rb +151 -0
- data/spec/sprinkle/installers/rake_spec.rb +29 -0
- data/spec/sprinkle/installers/rpm_spec.rb +50 -0
- data/spec/sprinkle/installers/source_spec.rb +331 -0
- data/spec/sprinkle/installers/yum_spec.rb +49 -0
- data/spec/sprinkle/package_spec.rb +422 -0
- data/spec/sprinkle/policy_spec.rb +126 -0
- data/spec/sprinkle/script_spec.rb +51 -0
- data/spec/sprinkle/sprinkle_spec.rb +25 -0
- data/spec/sprinkle/verify_spec.rb +160 -0
- data/sprinkle.gemspec +70 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/rspec.rake +21 -0
- metadata +180 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe Sprinkle::Script, 'class' do
|
4
|
+
|
5
|
+
it 'should define a entry point into the system' do
|
6
|
+
Sprinkle::Script.should respond_to(:sprinkle)
|
7
|
+
end
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
describe Sprinkle::Script, 'when given a script' do
|
12
|
+
|
13
|
+
before do
|
14
|
+
@script = 'script'
|
15
|
+
@filename = 'filename'
|
16
|
+
|
17
|
+
@sprinkle = Sprinkle::Script.new
|
18
|
+
Sprinkle::Script.stub!(:new).and_return(@sprinkle)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should create a new sprinkle instance' do
|
22
|
+
Sprinkle::Script.should_receive(:new).and_return(@sprinkle)
|
23
|
+
Sprinkle::Script.sprinkle @script
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should evaulate the sprinkle script against the instance' do
|
27
|
+
@sprinkle.should_receive(:instance_eval).and_return
|
28
|
+
Sprinkle::Script.sprinkle @script
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should specify the filename if given for line number errors' do
|
32
|
+
@sprinkle.should_receive(:instance_eval).with(@script, @filename).and_return
|
33
|
+
Sprinkle::Script.sprinkle @script, @filename
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should specify a filename of __SCRIPT__ by default if none is provided' do
|
37
|
+
@sprinkle.should_receive(:instance_eval).with(@script, '__SCRIPT__').and_return
|
38
|
+
Sprinkle::Script.sprinkle @script
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should automatically run in production mode by default' do
|
42
|
+
@sprinkle.should_receive(:instance_eval).with(@script, '__SCRIPT__').and_return
|
43
|
+
Sprinkle::Script.sprinkle @script
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should ask the Sprinkle instance to process the data from the script' do
|
47
|
+
@sprinkle.should_receive(:sprinkle)
|
48
|
+
Sprinkle::Script.sprinkle @script
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe Sprinkle do
|
4
|
+
|
5
|
+
it 'should automatically extend Object to support package, policy and deployment DSL keywords' do
|
6
|
+
%w( package policy deployment ).each do |keyword|
|
7
|
+
Object.should respond_to(keyword.to_sym)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should default to production mode' do
|
12
|
+
Sprinkle::OPTIONS[:testing].should be_false
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should automatically create a logger object on Kernel' do
|
16
|
+
Object.should respond_to(:logger)
|
17
|
+
logger.should_not be_nil
|
18
|
+
logger.class.should == ActiveSupport::BufferedLogger
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should create a logger of level INFO' do
|
22
|
+
logger.level.should == ActiveSupport::BufferedLogger::Severity::INFO
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,160 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe Sprinkle::Verify do
|
4
|
+
before do
|
5
|
+
@name = :package
|
6
|
+
@package = package @name do
|
7
|
+
gem 'nonexistent'
|
8
|
+
verify 'moo' do
|
9
|
+
# Check a file exists
|
10
|
+
has_file 'my_file.txt'
|
11
|
+
|
12
|
+
# Check a directory exists
|
13
|
+
has_directory 'mydir'
|
14
|
+
|
15
|
+
# Check a symlink exists
|
16
|
+
has_symlink 'mypointer'
|
17
|
+
|
18
|
+
# Check a symlink points to a certain file
|
19
|
+
has_symlink 'mypointer', 'myfile'
|
20
|
+
|
21
|
+
# Check if an executable exists
|
22
|
+
has_executable '/usr/bin/ruby'
|
23
|
+
|
24
|
+
# Check if a global executable exists (in PATH)
|
25
|
+
has_executable 'rails'
|
26
|
+
|
27
|
+
# Check for a process
|
28
|
+
has_process 'httpd'
|
29
|
+
|
30
|
+
# Check that ruby can include files
|
31
|
+
ruby_can_load 'a', 'b', 'c'
|
32
|
+
|
33
|
+
# Check that a gem exists
|
34
|
+
has_gem 'rails'
|
35
|
+
has_gem 'rails', '2.1.0'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
@verification = @package.verifications[0]
|
39
|
+
@delivery = mock(Sprinkle::Deployment, :process => true)
|
40
|
+
@verification.delivery = @delivery
|
41
|
+
end
|
42
|
+
|
43
|
+
describe 'when created' do
|
44
|
+
it 'should raise error without a block' do
|
45
|
+
lambda { Verify.new(nil, '') }.should raise_error
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe 'with checks' do
|
50
|
+
it 'should do a "test -f" on the has_file check' do
|
51
|
+
@verification.commands.should include('test -f my_file.txt')
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should do a "test -d" on the has_directory check' do
|
55
|
+
@verification.commands.should include('test -d mydir')
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'should do a "test -L" to check something is a symbolic link' do
|
59
|
+
@verification.commands.should include('test -L mypointer')
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'should do a test equality to check a symlink points to a specific file' do
|
63
|
+
@verification.commands.should include("test 'myfile' = `readlink mypointer`")
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'should do a "test -x" to check for an executable' do
|
67
|
+
@verification.commands.should include("test -x /usr/bin/ruby")
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'should test the "which" command to look for a global executable' do
|
71
|
+
@verification.commands.should include('[ -n "`echo \`which rails\``" ]')
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'should test the process list to find a process' do
|
75
|
+
@verification.commands.should include("ps aux | grep 'httpd' | grep -v grep")
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'should check if ruby can include a, b, c' do
|
79
|
+
@verification.commands.should include("ruby -e \"require 'rubygems';require 'a';require 'b';require 'c'\"")
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'should check that a ruby gem is installed' do
|
83
|
+
@verification.commands.should include("sudo gem list | grep -e '^rails (.*.*)$'")
|
84
|
+
@verification.commands.should include("sudo gem list | grep -e '^rails (.*2\\.1\\.0.*)$'")
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe 'with configurations' do
|
89
|
+
# Make sure it includes Sprinkle::Configurable
|
90
|
+
it 'should respond to configurable methods' do
|
91
|
+
@verification.should respond_to(:defaults)
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'should default padding option to 4' do
|
95
|
+
@verification.padding.should eql(4)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe 'with process' do
|
100
|
+
it 'should raise an error when no delivery mechanism is set' do
|
101
|
+
@verification.instance_variable_set(:@delivery, nil)
|
102
|
+
lambda { @verification.process([]) }.should raise_error
|
103
|
+
end
|
104
|
+
|
105
|
+
describe 'when not testing' do
|
106
|
+
before do
|
107
|
+
# To be explicit
|
108
|
+
Sprinkle::OPTIONS[:testing] = false
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'should call process on the delivery with the correct parameters' do
|
112
|
+
@delivery.should_receive(:process).with(@name, @verification.commands, [:app], true).once.and_return(true)
|
113
|
+
@verification.process([:app])
|
114
|
+
end
|
115
|
+
|
116
|
+
it 'should raise Sprinkle::VerificationFailed exception when commands fail' do
|
117
|
+
@delivery.should_receive(:process).once.and_return(false)
|
118
|
+
lambda { @verification.process([:app]) }.should raise_error(Sprinkle::VerificationFailed) do |error|
|
119
|
+
error.package.should eql(@package)
|
120
|
+
error.description.should eql('moo')
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
describe 'when testing' do
|
126
|
+
before do
|
127
|
+
Sprinkle::OPTIONS[:testing] = true
|
128
|
+
@logger = mock(ActiveSupport::BufferedLogger, :debug => true, :debug? => true)
|
129
|
+
end
|
130
|
+
|
131
|
+
it 'should not call process on the delivery' do
|
132
|
+
@delivery.should_not_receive(:process)
|
133
|
+
end
|
134
|
+
|
135
|
+
it 'should print the install sequence to the console' do
|
136
|
+
@verification.should_receive(:logger).twice.and_return(@logger)
|
137
|
+
end
|
138
|
+
|
139
|
+
after do
|
140
|
+
@verification.process([:app])
|
141
|
+
Sprinkle::OPTIONS[:testing] = false
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
describe 'with registering new verification modules' do
|
147
|
+
module MyModule
|
148
|
+
def rawr; end
|
149
|
+
end
|
150
|
+
|
151
|
+
it 'should not respond to rawr initially' do
|
152
|
+
@verification.should_not respond_to(:rawr)
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'should respond to rawr after registering the module' do
|
156
|
+
Sprinkle::Verify.register(MyModule)
|
157
|
+
@verification.should respond_to(:rawr)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
data/sprinkle.gemspec
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = %q{sprinkle}
|
3
|
+
s.version = "0.1.9"
|
4
|
+
|
5
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
|
+
s.authors = ["Marcus Crafter", "Mitchell Hashimoto"]
|
7
|
+
s.date = %q{2008-11-25}
|
8
|
+
s.default_executable = %q{sprinkle}
|
9
|
+
s.description = %q{Ruby DSL based software provisioning tool}
|
10
|
+
s.email = ["crafterm@redartisan.com", "mitchell.hashimoto@citrusbyte.com"]
|
11
|
+
s.executables = ["sprinkle"]
|
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",
|
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"]
|
41
|
+
s.has_rdoc = true
|
42
|
+
s.homepage = %q{http://sprinkle.rubyforge.org}
|
43
|
+
s.rdoc_options = ["--main", "README.txt"]
|
44
|
+
s.require_paths = ["lib"]
|
45
|
+
s.rubyforge_project = %q{sprinkle}
|
46
|
+
s.rubygems_version = %q{1.3.0}
|
47
|
+
s.summary = %q{Ruby DSL based software provisioning tool}
|
48
|
+
|
49
|
+
if s.respond_to? :specification_version then
|
50
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
51
|
+
s.specification_version = 2
|
52
|
+
|
53
|
+
if current_version >= 3 then
|
54
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 2.0.2"])
|
55
|
+
s.add_runtime_dependency(%q<highline>, [">= 1.4.0"])
|
56
|
+
s.add_runtime_dependency(%q<capistrano>, [">= 2.2.0"])
|
57
|
+
s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
|
58
|
+
else
|
59
|
+
s.add_dependency(%q<activesupport>, [">= 2.0.2"])
|
60
|
+
s.add_dependency(%q<highline>, [">= 1.4.0"])
|
61
|
+
s.add_dependency(%q<capistrano>, [">= 2.2.0"])
|
62
|
+
s.add_dependency(%q<hoe>, [">= 1.8.2"])
|
63
|
+
end
|
64
|
+
else
|
65
|
+
s.add_dependency(%q<activesupport>, [">= 2.0.2"])
|
66
|
+
s.add_dependency(%q<highline>, [">= 1.4.0"])
|
67
|
+
s.add_dependency(%q<capistrano>, [">= 2.2.0"])
|
68
|
+
s.add_dependency(%q<hoe>, [">= 1.8.2"])
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
desc 'Release the website and new gem version'
|
2
|
+
task :deploy => [:check_version, :website, :release] do
|
3
|
+
puts "Remember to create SVN tag:"
|
4
|
+
puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
|
5
|
+
"svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
|
6
|
+
puts "Suggested comment:"
|
7
|
+
puts "Tagging release #{CHANGES}"
|
8
|
+
end
|
9
|
+
|
10
|
+
desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
|
11
|
+
task :local_deploy => [:website_generate, :install_gem]
|
12
|
+
|
13
|
+
task :check_version do
|
14
|
+
unless ENV['VERSION']
|
15
|
+
puts 'Must pass a VERSION=x.y.z release version'
|
16
|
+
exit
|
17
|
+
end
|
18
|
+
unless ENV['VERSION'] == VERS
|
19
|
+
puts "Please update your version.rb to match the release version, currently #{VERS}"
|
20
|
+
exit
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
|
25
|
+
task :install_gem_no_doc => [:clean, :package] do
|
26
|
+
sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
|
27
|
+
end
|
28
|
+
|
29
|
+
namespace :manifest do
|
30
|
+
desc 'Recreate Manifest.txt to include ALL files'
|
31
|
+
task :refresh do
|
32
|
+
`rake check_manifest | patch -p0 > Manifest.txt`
|
33
|
+
end
|
34
|
+
end
|
data/tasks/rspec.rake
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
begin
|
2
|
+
require 'spec'
|
3
|
+
rescue LoadError
|
4
|
+
require 'rubygems'
|
5
|
+
require 'spec'
|
6
|
+
end
|
7
|
+
begin
|
8
|
+
require 'spec/rake/spectask'
|
9
|
+
rescue LoadError
|
10
|
+
puts <<-EOS
|
11
|
+
To use rspec for testing you must install rspec gem:
|
12
|
+
gem install rspec
|
13
|
+
EOS
|
14
|
+
exit(0)
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Run the specs under spec"
|
18
|
+
Spec::Rake::SpecTask.new do |t|
|
19
|
+
t.spec_opts = ['--options', "spec/spec.opts"]
|
20
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jsierles-sprinkle
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.9
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Marcus Crafter
|
8
|
+
- Mitchell Hashimoto
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2008-11-25 00:00:00 -08:00
|
14
|
+
default_executable: sprinkle
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: activesupport
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.0.2
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: highline
|
27
|
+
version_requirement:
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.4.0
|
33
|
+
version:
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: capistrano
|
36
|
+
version_requirement:
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 2.2.0
|
42
|
+
version:
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: hoe
|
45
|
+
version_requirement:
|
46
|
+
version_requirements: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 1.8.2
|
51
|
+
version:
|
52
|
+
description: Ruby DSL based software provisioning tool
|
53
|
+
email:
|
54
|
+
- crafterm@redartisan.com
|
55
|
+
- mitchell.hashimoto@citrusbyte.com
|
56
|
+
executables:
|
57
|
+
- sprinkle
|
58
|
+
extensions: []
|
59
|
+
|
60
|
+
extra_rdoc_files:
|
61
|
+
- History.txt
|
62
|
+
- Manifest.txt
|
63
|
+
- README.txt
|
64
|
+
files:
|
65
|
+
- CREDITS
|
66
|
+
- History.txt
|
67
|
+
- MIT-LICENSE
|
68
|
+
- Manifest.txt
|
69
|
+
- README.txt
|
70
|
+
- Rakefile
|
71
|
+
- bin/sprinkle
|
72
|
+
- config/hoe.rb
|
73
|
+
- config/requirements.rb
|
74
|
+
- examples/packages/build_essential.rb
|
75
|
+
- examples/packages/databases/mysql.rb
|
76
|
+
- examples/packages/databases/sqlite3.rb
|
77
|
+
- examples/packages/phusion.rb
|
78
|
+
- examples/packages/ruby/rails.rb
|
79
|
+
- examples/packages/ruby/ruby.rb
|
80
|
+
- examples/packages/ruby/rubygems.rb
|
81
|
+
- examples/packages/scm/git.rb
|
82
|
+
- examples/packages/scm/subversion.rb
|
83
|
+
- examples/packages/servers/apache.rb
|
84
|
+
- examples/rails/README
|
85
|
+
- examples/rails/deploy.rb
|
86
|
+
- examples/rails/packages/database.rb
|
87
|
+
- examples/rails/packages/essential.rb
|
88
|
+
- examples/rails/packages/rails.rb
|
89
|
+
- examples/rails/packages/scm.rb
|
90
|
+
- examples/rails/packages/search.rb
|
91
|
+
- examples/rails/packages/server.rb
|
92
|
+
- examples/rails/rails.rb
|
93
|
+
- examples/sprinkle/sprinkle.rb
|
94
|
+
- lib/sprinkle.rb
|
95
|
+
- lib/sprinkle/actors/actors.rb
|
96
|
+
- lib/sprinkle/actors/capistrano.rb
|
97
|
+
- lib/sprinkle/actors/local.rb
|
98
|
+
- lib/sprinkle/actors/ssh.rb
|
99
|
+
- lib/sprinkle/actors/vlad.rb
|
100
|
+
- lib/sprinkle/configurable.rb
|
101
|
+
- lib/sprinkle/deployment.rb
|
102
|
+
- lib/sprinkle/extensions/arbitrary_options.rb
|
103
|
+
- lib/sprinkle/extensions/array.rb
|
104
|
+
- lib/sprinkle/extensions/blank_slate.rb
|
105
|
+
- lib/sprinkle/extensions/dsl_accessor.rb
|
106
|
+
- lib/sprinkle/extensions/string.rb
|
107
|
+
- lib/sprinkle/extensions/symbol.rb
|
108
|
+
- lib/sprinkle/installers/apt.rb
|
109
|
+
- lib/sprinkle/installers/deb.rb
|
110
|
+
- lib/sprinkle/installers/gem.rb
|
111
|
+
- lib/sprinkle/installers/installer.rb
|
112
|
+
- lib/sprinkle/installers/rake.rb
|
113
|
+
- lib/sprinkle/installers/rpm.rb
|
114
|
+
- lib/sprinkle/installers/source.rb
|
115
|
+
- lib/sprinkle/installers/yum.rb
|
116
|
+
- lib/sprinkle/package.rb
|
117
|
+
- lib/sprinkle/policy.rb
|
118
|
+
- lib/sprinkle/script.rb
|
119
|
+
- lib/sprinkle/verifiers/directory.rb
|
120
|
+
- lib/sprinkle/verifiers/executable.rb
|
121
|
+
- lib/sprinkle/verifiers/file.rb
|
122
|
+
- lib/sprinkle/verifiers/process.rb
|
123
|
+
- lib/sprinkle/verifiers/ruby.rb
|
124
|
+
- lib/sprinkle/verifiers/symlink.rb
|
125
|
+
- lib/sprinkle/verify.rb
|
126
|
+
- lib/sprinkle/version.rb
|
127
|
+
- script/destroy
|
128
|
+
- script/generate
|
129
|
+
- sprinkle.gemspec
|
130
|
+
- tasks/deployment.rake
|
131
|
+
- tasks/environment.rake
|
132
|
+
- tasks/rspec.rake
|
133
|
+
has_rdoc: true
|
134
|
+
homepage: http://sprinkle.rubyforge.org
|
135
|
+
post_install_message:
|
136
|
+
rdoc_options:
|
137
|
+
- --main
|
138
|
+
- README.txt
|
139
|
+
require_paths:
|
140
|
+
- lib
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: "0"
|
146
|
+
version:
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: "0"
|
152
|
+
version:
|
153
|
+
requirements: []
|
154
|
+
|
155
|
+
rubyforge_project: sprinkle
|
156
|
+
rubygems_version: 1.2.0
|
157
|
+
signing_key:
|
158
|
+
specification_version: 2
|
159
|
+
summary: Ruby DSL based software provisioning tool
|
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
|