trevorturk-sprinkle 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/CREDITS +22 -0
  2. data/History.txt +4 -0
  3. data/MIT-LICENSE +20 -0
  4. data/Manifest.txt +101 -0
  5. data/README.txt +241 -0
  6. data/Rakefile +4 -0
  7. data/bin/sprinkle +86 -0
  8. data/config/hoe.rb +70 -0
  9. data/config/requirements.rb +17 -0
  10. data/examples/packages/build_essential.rb +9 -0
  11. data/examples/packages/databases/mysql.rb +13 -0
  12. data/examples/packages/databases/sqlite3.rb +16 -0
  13. data/examples/packages/phusion.rb +55 -0
  14. data/examples/packages/ruby/rails.rb +9 -0
  15. data/examples/packages/ruby/ruby.rb +17 -0
  16. data/examples/packages/ruby/rubygems.rb +17 -0
  17. data/examples/packages/scm/git.rb +11 -0
  18. data/examples/packages/scm/subversion.rb +4 -0
  19. data/examples/packages/servers/apache.rb +15 -0
  20. data/examples/rails/README +15 -0
  21. data/examples/rails/deploy.rb +2 -0
  22. data/examples/rails/packages/database.rb +9 -0
  23. data/examples/rails/packages/essential.rb +9 -0
  24. data/examples/rails/packages/rails.rb +28 -0
  25. data/examples/rails/packages/scm.rb +11 -0
  26. data/examples/rails/packages/search.rb +11 -0
  27. data/examples/rails/packages/server.rb +28 -0
  28. data/examples/rails/rails.rb +73 -0
  29. data/examples/sprinkle/sprinkle.rb +38 -0
  30. data/lib/sprinkle/actors/actors.rb +17 -0
  31. data/lib/sprinkle/actors/capistrano.rb +124 -0
  32. data/lib/sprinkle/actors/local.rb +30 -0
  33. data/lib/sprinkle/actors/ssh.rb +81 -0
  34. data/lib/sprinkle/actors/vlad.rb +65 -0
  35. data/lib/sprinkle/configurable.rb +31 -0
  36. data/lib/sprinkle/deployment.rb +73 -0
  37. data/lib/sprinkle/extensions/arbitrary_options.rb +10 -0
  38. data/lib/sprinkle/extensions/array.rb +5 -0
  39. data/lib/sprinkle/extensions/blank_slate.rb +5 -0
  40. data/lib/sprinkle/extensions/dsl_accessor.rb +15 -0
  41. data/lib/sprinkle/extensions/string.rb +10 -0
  42. data/lib/sprinkle/extensions/symbol.rb +7 -0
  43. data/lib/sprinkle/installers/apt.rb +52 -0
  44. data/lib/sprinkle/installers/bsd_port.rb +33 -0
  45. data/lib/sprinkle/installers/deb.rb +38 -0
  46. data/lib/sprinkle/installers/freebsd_pkg.rb +37 -0
  47. data/lib/sprinkle/installers/gem.rb +63 -0
  48. data/lib/sprinkle/installers/installer.rb +120 -0
  49. data/lib/sprinkle/installers/mac_port.rb +38 -0
  50. data/lib/sprinkle/installers/noop.rb +20 -0
  51. data/lib/sprinkle/installers/openbsd_pkg.rb +47 -0
  52. data/lib/sprinkle/installers/opensolaris_pkg.rb +43 -0
  53. data/lib/sprinkle/installers/push_text.rb +45 -0
  54. data/lib/sprinkle/installers/rake.rb +37 -0
  55. data/lib/sprinkle/installers/rpm.rb +37 -0
  56. data/lib/sprinkle/installers/source.rb +179 -0
  57. data/lib/sprinkle/installers/yum.rb +37 -0
  58. data/lib/sprinkle/package.rb +279 -0
  59. data/lib/sprinkle/policy.rb +125 -0
  60. data/lib/sprinkle/script.rb +23 -0
  61. data/lib/sprinkle/verifiers/directory.rb +16 -0
  62. data/lib/sprinkle/verifiers/executable.rb +36 -0
  63. data/lib/sprinkle/verifiers/file.rb +26 -0
  64. data/lib/sprinkle/verifiers/process.rb +21 -0
  65. data/lib/sprinkle/verifiers/ruby.rb +25 -0
  66. data/lib/sprinkle/verifiers/symlink.rb +30 -0
  67. data/lib/sprinkle/verify.rb +114 -0
  68. data/lib/sprinkle/version.rb +9 -0
  69. data/lib/sprinkle.rb +32 -0
  70. data/script/destroy +14 -0
  71. data/script/generate +14 -0
  72. data/spec/spec.opts +1 -0
  73. data/spec/spec_helper.rb +17 -0
  74. data/spec/sprinkle/actors/capistrano_spec.rb +170 -0
  75. data/spec/sprinkle/actors/local_spec.rb +29 -0
  76. data/spec/sprinkle/configurable_spec.rb +46 -0
  77. data/spec/sprinkle/deployment_spec.rb +80 -0
  78. data/spec/sprinkle/extensions/array_spec.rb +19 -0
  79. data/spec/sprinkle/extensions/string_spec.rb +21 -0
  80. data/spec/sprinkle/installers/apt_spec.rb +70 -0
  81. data/spec/sprinkle/installers/bsd_port_spec.rb +42 -0
  82. data/spec/sprinkle/installers/freebsd_pkg_spec.rb +49 -0
  83. data/spec/sprinkle/installers/gem_spec.rb +91 -0
  84. data/spec/sprinkle/installers/installer_spec.rb +151 -0
  85. data/spec/sprinkle/installers/mac_port_spec.rb +42 -0
  86. data/spec/sprinkle/installers/noop_spec.rb +23 -0
  87. data/spec/sprinkle/installers/openbsd_pkg_spec.rb +49 -0
  88. data/spec/sprinkle/installers/opensolaris_pkg_spec.rb +49 -0
  89. data/spec/sprinkle/installers/push_text_spec.rb +55 -0
  90. data/spec/sprinkle/installers/rake_spec.rb +29 -0
  91. data/spec/sprinkle/installers/rpm_spec.rb +50 -0
  92. data/spec/sprinkle/installers/source_spec.rb +331 -0
  93. data/spec/sprinkle/installers/yum_spec.rb +49 -0
  94. data/spec/sprinkle/policy_spec.rb +126 -0
  95. data/spec/sprinkle/script_spec.rb +51 -0
  96. data/spec/sprinkle/sprinkle_spec.rb +25 -0
  97. data/spec/sprinkle/verify_spec.rb +167 -0
  98. data/sprinkle.gemspec +73 -0
  99. data/tasks/deployment.rake +34 -0
  100. data/tasks/environment.rake +7 -0
  101. data/tasks/rspec.rake +21 -0
  102. metadata +197 -0
@@ -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,167 @@
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 that a file contains a substring
13
+ file_contains 'my_file.txt', 'A sunny day on the lower east-side'
14
+
15
+ # Check a directory exists
16
+ has_directory 'mydir'
17
+
18
+ # Check a symlink exists
19
+ has_symlink 'mypointer'
20
+
21
+ # Check a symlink points to a certain file
22
+ has_symlink 'mypointer', 'myfile'
23
+
24
+ # Check if an executable exists
25
+ has_executable '/usr/bin/ruby'
26
+
27
+ # Check if a global executable exists (in PATH)
28
+ has_executable 'rails'
29
+
30
+ # Check for a process
31
+ has_process 'httpd'
32
+
33
+ # Check that ruby can include files
34
+ ruby_can_load 'a', 'b', 'c'
35
+
36
+ # Check that a gem exists
37
+ has_gem 'rails'
38
+ has_gem 'rails', '2.1.0'
39
+ end
40
+ end
41
+ @verification = @package.verifications[0]
42
+ @delivery = mock(Sprinkle::Deployment, :process => true)
43
+ @verification.delivery = @delivery
44
+ end
45
+
46
+ describe 'when created' do
47
+ it 'should raise error without a block' do
48
+ lambda { Verify.new(nil, '') }.should raise_error
49
+ end
50
+ end
51
+
52
+ describe 'with checks' do
53
+ it 'should do a "test -f" on the has_file check' do
54
+ @verification.commands.should include('test -f my_file.txt')
55
+ end
56
+
57
+ it 'should do a grep to see if a file contains a text string' do
58
+ @verification.commands.should include("grep 'A sunny day on the lower east-side' my_file.txt")
59
+ end
60
+
61
+ it 'should do a "test -d" on the has_directory check' do
62
+ @verification.commands.should include('test -d mydir')
63
+ end
64
+
65
+ it 'should do a "test -L" to check something is a symbolic link' do
66
+ @verification.commands.should include('test -L mypointer')
67
+ end
68
+
69
+ it 'should do a test equality to check a symlink points to a specific file' do
70
+ @verification.commands.should include("test 'myfile' = `readlink mypointer`")
71
+ end
72
+
73
+ it 'should do a "test -x" to check for an executable' do
74
+ @verification.commands.should include("test -x /usr/bin/ruby")
75
+ end
76
+
77
+ it 'should test the "which" command to look for a global executable' do
78
+ @verification.commands.should include('[ -n "`echo \`which rails\``" ]')
79
+ end
80
+
81
+ it 'should test the process list to find a process' do
82
+ @verification.commands.should include("ps aux | grep 'httpd' | grep -v grep")
83
+ end
84
+
85
+ it 'should check if ruby can include a, b, c' do
86
+ @verification.commands.should include("ruby -e \"require 'rubygems';require 'a';require 'b';require 'c'\"")
87
+ end
88
+
89
+ it 'should check that a ruby gem is installed' do
90
+ @verification.commands.should include("sudo gem list | grep -e '^rails (.*.*)$'")
91
+ @verification.commands.should include("sudo gem list | grep -e '^rails (.*2\\.1\\.0.*)$'")
92
+ end
93
+ end
94
+
95
+ describe 'with configurations' do
96
+ # Make sure it includes Sprinkle::Configurable
97
+ it 'should respond to configurable methods' do
98
+ @verification.should respond_to(:defaults)
99
+ end
100
+
101
+ it 'should default padding option to 4' do
102
+ @verification.padding.should eql(4)
103
+ end
104
+ end
105
+
106
+ describe 'with process' do
107
+ it 'should raise an error when no delivery mechanism is set' do
108
+ @verification.instance_variable_set(:@delivery, nil)
109
+ lambda { @verification.process([]) }.should raise_error
110
+ end
111
+
112
+ describe 'when not testing' do
113
+ before do
114
+ # To be explicit
115
+ Sprinkle::OPTIONS[:testing] = false
116
+ end
117
+
118
+ it 'should call process on the delivery with the correct parameters' do
119
+ @delivery.should_receive(:process).with(@name, @verification.commands, [:app], true).once.and_return(true)
120
+ @verification.process([:app])
121
+ end
122
+
123
+ it 'should raise Sprinkle::VerificationFailed exception when commands fail' do
124
+ @delivery.should_receive(:process).once.and_return(false)
125
+ lambda { @verification.process([:app]) }.should raise_error(Sprinkle::VerificationFailed) do |error|
126
+ error.package.should eql(@package)
127
+ error.description.should eql('moo')
128
+ end
129
+ end
130
+ end
131
+
132
+ describe 'when testing' do
133
+ before do
134
+ Sprinkle::OPTIONS[:testing] = true
135
+ @logger = mock(ActiveSupport::BufferedLogger, :debug => true, :debug? => true)
136
+ end
137
+
138
+ it 'should not call process on the delivery' do
139
+ @delivery.should_not_receive(:process)
140
+ end
141
+
142
+ it 'should print the install sequence to the console' do
143
+ @verification.should_receive(:logger).twice.and_return(@logger)
144
+ end
145
+
146
+ after do
147
+ @verification.process([:app])
148
+ Sprinkle::OPTIONS[:testing] = false
149
+ end
150
+ end
151
+ end
152
+
153
+ describe 'with registering new verification modules' do
154
+ module MyModule
155
+ def rawr; end
156
+ end
157
+
158
+ it 'should not respond to rawr initially' do
159
+ @verification.should_not respond_to(:rawr)
160
+ end
161
+
162
+ it 'should respond to rawr after registering the module' do
163
+ Sprinkle::Verify.register(MyModule)
164
+ @verification.should respond_to(:rawr)
165
+ end
166
+ end
167
+ end
data/sprinkle.gemspec ADDED
@@ -0,0 +1,73 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{sprinkle}
3
+ s.version = "0.2.2"
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/installers/freebsd_pkg.rb", "lib/sprinkle/installers/openbsd_pkg.rb", "lib/sprinkle/installers/noop.rb",
29
+ "lib/sprinkle/installers/opensolaris_pkg.rb", "lib/sprinkle/installers/bsd_port.rb", "lib/sprinkle/installers/mac_port.rb", "lib/sprinkle/installers/push_text.rb",
30
+ "lib/sprinkle/package.rb", "lib/sprinkle/policy.rb", "lib/sprinkle/script.rb", "lib/sprinkle/verifiers/directory.rb",
31
+ "lib/sprinkle/verifiers/executable.rb", "lib/sprinkle/verifiers/file.rb", "lib/sprinkle/verifiers/process.rb",
32
+ "lib/sprinkle/verifiers/ruby.rb", "lib/sprinkle/verifiers/symlink.rb", "lib/sprinkle/verify.rb", "lib/sprinkle/version.rb",
33
+ "script/destroy", "script/generate", "sprinkle.gemspec", "tasks/deployment.rake", "tasks/environment.rake", "tasks/rspec.rake"]
34
+
35
+ s.test_files = ["spec/spec.opts", "spec/spec_helper.rb", "spec/sprinkle/actors/capistrano_spec.rb",
36
+ "spec/sprinkle/actors/local_spec.rb", "spec/sprinkle/configurable_spec.rb", "spec/sprinkle/deployment_spec.rb",
37
+ "spec/sprinkle/extensions/array_spec.rb", "spec/sprinkle/extensions/string_spec.rb", "spec/sprinkle/installers/apt_spec.rb",
38
+ "spec/sprinkle/installers/gem_spec.rb", "spec/sprinkle/installers/installer_spec.rb", "spec/sprinkle/installers/rpm_spec.rb",
39
+ "spec/sprinkle/installers/yum_spec.rb", "spec/sprinkle/installers/source_spec.rb", "spec/sprinkle/installers/freebsd_pkg_spec.rb",
40
+ "spec/sprinkle/installers/openbsd_pkg_spec.rb", "spec/sprinkle/installers/opensolaris_pkg_spec.rb", "spec/sprinkle/installers/noop_spec.rb",
41
+ "spec/sprinkle/installers/mac_port_spec.rb", "spec/sprinkle/installers/push_text_spec.rb", "spec/sprinkle/installers/bsd_port_spec.rb", "spec/sprinkle/policy_spec.rb",
42
+ "spec/sprinkle/script_spec.rb", "spec/sprinkle/sprinkle_spec.rb", "spec/sprinkle/installers/rake_spec.rb", "spec/sprinkle/verify_spec.rb"]
43
+ s.has_rdoc = true
44
+ s.homepage = %q{http://sprinkle.rubyforge.org}
45
+ s.rdoc_options = ["--main", "README.txt"]
46
+ s.require_paths = ["lib"]
47
+ s.rubyforge_project = %q{sprinkle}
48
+ s.rubygems_version = %q{1.3.0}
49
+ s.summary = %q{Ruby DSL based software provisioning tool}
50
+
51
+ if s.respond_to? :specification_version then
52
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
+ s.specification_version = 2
54
+
55
+ if current_version >= 3 then
56
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.0.2"])
57
+ s.add_runtime_dependency(%q<highline>, [">= 1.4.0"])
58
+ s.add_runtime_dependency(%q<capistrano>, [">= 2.5.5"])
59
+ s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
60
+ s.add_development_dependency(%q<echoe>, [">= 3.0.2"])
61
+ else
62
+ s.add_dependency(%q<activesupport>, [">= 2.0.2"])
63
+ s.add_dependency(%q<highline>, [">= 1.4.0"])
64
+ s.add_dependency(%q<capistrano>, [">= 2.5.5"])
65
+ s.add_dependency(%q<hoe>, [">= 1.8.2"])
66
+ end
67
+ else
68
+ s.add_dependency(%q<activesupport>, [">= 2.0.2"])
69
+ s.add_dependency(%q<highline>, [">= 1.4.0"])
70
+ s.add_dependency(%q<capistrano>, [">= 2.5.5"])
71
+ s.add_dependency(%q<hoe>, [">= 1.8.2"])
72
+ end
73
+ 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
@@ -0,0 +1,7 @@
1
+ task :ruby_env do
2
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
3
+ "jruby"
4
+ else
5
+ "ruby"
6
+ end unless defined? RUBY_APP
7
+ 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,197 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trevorturk-sprinkle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
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
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 2.0.2
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: highline
28
+ type: :runtime
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 1.4.0
35
+ version:
36
+ - !ruby/object:Gem::Dependency
37
+ name: capistrano
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 2.5.5
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: hoe
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.8.2
55
+ version:
56
+ description: Ruby DSL based software provisioning tool
57
+ email:
58
+ - crafterm@redartisan.com
59
+ - mitchell.hashimoto@citrusbyte.com
60
+ executables:
61
+ - sprinkle
62
+ extensions: []
63
+
64
+ extra_rdoc_files:
65
+ - History.txt
66
+ - Manifest.txt
67
+ - README.txt
68
+ files:
69
+ - CREDITS
70
+ - History.txt
71
+ - MIT-LICENSE
72
+ - Manifest.txt
73
+ - README.txt
74
+ - Rakefile
75
+ - bin/sprinkle
76
+ - config/hoe.rb
77
+ - config/requirements.rb
78
+ - examples/packages/build_essential.rb
79
+ - examples/packages/databases/mysql.rb
80
+ - examples/packages/databases/sqlite3.rb
81
+ - examples/packages/phusion.rb
82
+ - examples/packages/ruby/rails.rb
83
+ - examples/packages/ruby/ruby.rb
84
+ - examples/packages/ruby/rubygems.rb
85
+ - examples/packages/scm/git.rb
86
+ - examples/packages/scm/subversion.rb
87
+ - examples/packages/servers/apache.rb
88
+ - examples/rails/README
89
+ - examples/rails/deploy.rb
90
+ - examples/rails/packages/database.rb
91
+ - examples/rails/packages/essential.rb
92
+ - examples/rails/packages/rails.rb
93
+ - examples/rails/packages/scm.rb
94
+ - examples/rails/packages/search.rb
95
+ - examples/rails/packages/server.rb
96
+ - examples/rails/rails.rb
97
+ - examples/sprinkle/sprinkle.rb
98
+ - lib/sprinkle.rb
99
+ - lib/sprinkle/actors/actors.rb
100
+ - lib/sprinkle/actors/capistrano.rb
101
+ - lib/sprinkle/actors/local.rb
102
+ - lib/sprinkle/actors/ssh.rb
103
+ - lib/sprinkle/actors/vlad.rb
104
+ - lib/sprinkle/configurable.rb
105
+ - lib/sprinkle/deployment.rb
106
+ - lib/sprinkle/extensions/arbitrary_options.rb
107
+ - lib/sprinkle/extensions/array.rb
108
+ - lib/sprinkle/extensions/blank_slate.rb
109
+ - lib/sprinkle/extensions/dsl_accessor.rb
110
+ - lib/sprinkle/extensions/string.rb
111
+ - lib/sprinkle/extensions/symbol.rb
112
+ - lib/sprinkle/installers/apt.rb
113
+ - lib/sprinkle/installers/deb.rb
114
+ - lib/sprinkle/installers/gem.rb
115
+ - lib/sprinkle/installers/installer.rb
116
+ - lib/sprinkle/installers/rake.rb
117
+ - lib/sprinkle/installers/rpm.rb
118
+ - lib/sprinkle/installers/source.rb
119
+ - lib/sprinkle/installers/yum.rb
120
+ - lib/sprinkle/installers/freebsd_pkg.rb
121
+ - lib/sprinkle/installers/openbsd_pkg.rb
122
+ - lib/sprinkle/installers/noop.rb
123
+ - lib/sprinkle/installers/opensolaris_pkg.rb
124
+ - lib/sprinkle/installers/bsd_port.rb
125
+ - lib/sprinkle/installers/mac_port.rb
126
+ - lib/sprinkle/installers/push_text.rb
127
+ - lib/sprinkle/package.rb
128
+ - lib/sprinkle/policy.rb
129
+ - lib/sprinkle/script.rb
130
+ - lib/sprinkle/verifiers/directory.rb
131
+ - lib/sprinkle/verifiers/executable.rb
132
+ - lib/sprinkle/verifiers/file.rb
133
+ - lib/sprinkle/verifiers/process.rb
134
+ - lib/sprinkle/verifiers/ruby.rb
135
+ - lib/sprinkle/verifiers/symlink.rb
136
+ - lib/sprinkle/verify.rb
137
+ - lib/sprinkle/version.rb
138
+ - script/destroy
139
+ - script/generate
140
+ - sprinkle.gemspec
141
+ - tasks/deployment.rake
142
+ - tasks/environment.rake
143
+ - tasks/rspec.rake
144
+ has_rdoc: true
145
+ homepage: http://sprinkle.rubyforge.org
146
+ post_install_message:
147
+ rdoc_options:
148
+ - --main
149
+ - README.txt
150
+ require_paths:
151
+ - lib
152
+ required_ruby_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: "0"
157
+ version:
158
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: "0"
163
+ version:
164
+ requirements: []
165
+
166
+ rubyforge_project: sprinkle
167
+ rubygems_version: 1.2.0
168
+ signing_key:
169
+ specification_version: 2
170
+ summary: Ruby DSL based software provisioning tool
171
+ test_files:
172
+ - spec/spec.opts
173
+ - spec/spec_helper.rb
174
+ - spec/sprinkle/actors/capistrano_spec.rb
175
+ - spec/sprinkle/actors/local_spec.rb
176
+ - spec/sprinkle/configurable_spec.rb
177
+ - spec/sprinkle/deployment_spec.rb
178
+ - spec/sprinkle/extensions/array_spec.rb
179
+ - spec/sprinkle/extensions/string_spec.rb
180
+ - spec/sprinkle/installers/apt_spec.rb
181
+ - spec/sprinkle/installers/gem_spec.rb
182
+ - spec/sprinkle/installers/installer_spec.rb
183
+ - spec/sprinkle/installers/rpm_spec.rb
184
+ - spec/sprinkle/installers/yum_spec.rb
185
+ - spec/sprinkle/installers/source_spec.rb
186
+ - spec/sprinkle/installers/freebsd_pkg_spec.rb
187
+ - spec/sprinkle/installers/openbsd_pkg_spec.rb
188
+ - spec/sprinkle/installers/opensolaris_pkg_spec.rb
189
+ - spec/sprinkle/installers/noop_spec.rb
190
+ - spec/sprinkle/installers/mac_port_spec.rb
191
+ - spec/sprinkle/installers/push_text_spec.rb
192
+ - spec/sprinkle/installers/bsd_port_spec.rb
193
+ - spec/sprinkle/policy_spec.rb
194
+ - spec/sprinkle/script_spec.rb
195
+ - spec/sprinkle/sprinkle_spec.rb
196
+ - spec/sprinkle/installers/rake_spec.rb
197
+ - spec/sprinkle/verify_spec.rb