sprinkle 0.4.2 → 0.5.0.rc1
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/.gitignore +8 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +54 -0
- data/README.markdown +178 -166
- data/Rakefile +4 -28
- data/bin/sprinkle +14 -1
- data/lib/sprinkle.rb +5 -1
- data/lib/sprinkle/actors/actors.rb +20 -5
- data/lib/sprinkle/actors/capistrano.rb +62 -36
- data/lib/sprinkle/actors/dummy.rb +127 -0
- data/lib/sprinkle/actors/local.rb +59 -17
- data/lib/sprinkle/actors/ssh.rb +189 -107
- data/lib/sprinkle/actors/vlad.rb +51 -32
- data/lib/sprinkle/configurable.rb +2 -1
- data/lib/sprinkle/deployment.rb +22 -2
- data/lib/sprinkle/errors/pretty_failure.rb +41 -0
- data/lib/sprinkle/errors/remote_command_failure.rb +24 -0
- data/lib/sprinkle/errors/transfer_failure.rb +28 -0
- data/lib/sprinkle/installers/apt.rb +17 -16
- data/lib/sprinkle/installers/binary.rb +23 -8
- data/lib/sprinkle/installers/brew.rb +17 -10
- data/lib/sprinkle/installers/bsd_port.rb +10 -6
- data/lib/sprinkle/installers/deb.rb +3 -10
- data/lib/sprinkle/installers/freebsd_pkg.rb +5 -11
- data/lib/sprinkle/installers/freebsd_portinstall.rb +8 -2
- data/lib/sprinkle/installers/gem.rb +9 -3
- data/lib/sprinkle/installers/group.rb +28 -4
- data/lib/sprinkle/installers/installer.rb +58 -7
- data/lib/sprinkle/installers/mac_port.rb +13 -6
- data/lib/sprinkle/installers/npm.rb +42 -0
- data/lib/sprinkle/installers/openbsd_pkg.rb +4 -11
- data/lib/sprinkle/installers/opensolaris_pkg.rb +7 -13
- data/lib/sprinkle/installers/package_installer.rb +33 -0
- data/lib/sprinkle/installers/pacman.rb +5 -13
- data/lib/sprinkle/installers/pear.rb +40 -0
- data/lib/sprinkle/installers/push_text.rb +18 -5
- data/lib/sprinkle/installers/rake.rb +7 -2
- data/lib/sprinkle/installers/reconnect.rb +29 -0
- data/lib/sprinkle/installers/replace_text.rb +11 -2
- data/lib/sprinkle/installers/rpm.rb +8 -6
- data/lib/sprinkle/installers/runner.rb +41 -16
- data/lib/sprinkle/installers/smart.rb +6 -17
- data/lib/sprinkle/installers/source.rb +22 -10
- data/lib/sprinkle/installers/thor.rb +7 -0
- data/lib/sprinkle/installers/transfer.rb +62 -41
- data/lib/sprinkle/installers/user.rb +34 -4
- data/lib/sprinkle/installers/yum.rb +10 -10
- data/lib/sprinkle/installers/zypper.rb +4 -15
- data/lib/sprinkle/package.rb +81 -98
- data/lib/sprinkle/policy.rb +11 -4
- data/lib/sprinkle/utility/log_recorder.rb +33 -0
- data/lib/sprinkle/verifiers/directory.rb +1 -1
- data/lib/sprinkle/verifiers/executable.rb +1 -1
- data/lib/sprinkle/verifiers/file.rb +11 -2
- data/lib/sprinkle/verifiers/package.rb +2 -14
- data/lib/sprinkle/verifiers/permission.rb +40 -0
- data/lib/sprinkle/verifiers/symlink.rb +2 -2
- data/lib/sprinkle/verifiers/test.rb +21 -0
- data/lib/sprinkle/verify.rb +3 -3
- data/lib/sprinkle/version.rb +3 -0
- data/spec/fixtures/my_file.txt +1 -0
- data/spec/sprinkle/actors/capistrano_spec.rb +16 -3
- data/spec/sprinkle/actors/local_spec.rb +24 -6
- data/spec/sprinkle/actors/ssh_spec.rb +38 -0
- data/spec/sprinkle/installers/apt_spec.rb +23 -2
- data/spec/sprinkle/installers/binary_spec.rb +22 -14
- data/spec/sprinkle/installers/brew_spec.rb +4 -4
- data/spec/sprinkle/installers/installer_spec.rb +36 -7
- data/spec/sprinkle/installers/npm_spec.rb +16 -0
- data/spec/sprinkle/installers/pear_spec.rb +16 -0
- data/spec/sprinkle/installers/push_text_spec.rb +23 -1
- data/spec/sprinkle/installers/rpm_spec.rb +5 -0
- data/spec/sprinkle/installers/runner_spec.rb +27 -11
- data/spec/sprinkle/installers/smart_spec.rb +60 -0
- data/spec/sprinkle/installers/source_spec.rb +4 -4
- data/spec/sprinkle/installers/transfer_spec.rb +31 -16
- data/spec/sprinkle/package_spec.rb +10 -2
- data/spec/sprinkle/policy_spec.rb +6 -0
- data/spec/sprinkle/verify_spec.rb +18 -4
- data/sprinkle.gemspec +22 -158
- metadata +178 -96
- data/TODO +0 -56
- data/VERSION +0 -1
- data/lib/sprinkle/verifiers/apt.rb +0 -21
- data/lib/sprinkle/verifiers/brew.rb +0 -21
- data/lib/sprinkle/verifiers/rpm.rb +0 -21
- data/lib/sprinkle/verifiers/users_groups.rb +0 -33
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
sprinkle (0.5)
|
5
|
+
activesupport (>= 2.0.2)
|
6
|
+
capistrano (>= 2.5.5)
|
7
|
+
highline (>= 1.4.0)
|
8
|
+
open4 (>= 1.1.0)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: https://rubygems.org/
|
12
|
+
specs:
|
13
|
+
activesupport (3.2.13)
|
14
|
+
i18n (= 0.6.1)
|
15
|
+
multi_json (~> 1.0)
|
16
|
+
capistrano (2.14.2)
|
17
|
+
highline
|
18
|
+
net-scp (>= 1.0.0)
|
19
|
+
net-sftp (>= 2.0.0)
|
20
|
+
net-ssh (>= 2.0.14)
|
21
|
+
net-ssh-gateway (>= 1.1.0)
|
22
|
+
diff-lcs (1.1.3)
|
23
|
+
highline (1.6.16)
|
24
|
+
i18n (0.6.1)
|
25
|
+
json (1.7.5)
|
26
|
+
multi_json (1.7.2)
|
27
|
+
net-scp (1.1.0)
|
28
|
+
net-ssh (>= 2.6.5)
|
29
|
+
net-sftp (2.1.1)
|
30
|
+
net-ssh (>= 2.6.5)
|
31
|
+
net-ssh (2.6.6)
|
32
|
+
net-ssh-gateway (1.2.0)
|
33
|
+
net-ssh (>= 2.6.5)
|
34
|
+
open4 (1.1.0)
|
35
|
+
rake (10.0.4)
|
36
|
+
rdoc (3.12)
|
37
|
+
json (~> 1.4)
|
38
|
+
rspec (2.12.0)
|
39
|
+
rspec-core (~> 2.12.0)
|
40
|
+
rspec-expectations (~> 2.12.0)
|
41
|
+
rspec-mocks (~> 2.12.0)
|
42
|
+
rspec-core (2.12.0)
|
43
|
+
rspec-expectations (2.12.0)
|
44
|
+
diff-lcs (~> 1.1.3)
|
45
|
+
rspec-mocks (2.12.0)
|
46
|
+
|
47
|
+
PLATFORMS
|
48
|
+
ruby
|
49
|
+
|
50
|
+
DEPENDENCIES
|
51
|
+
rake (>= 0.8.7)
|
52
|
+
rdoc (>= 3.12)
|
53
|
+
rspec (>= 2.5)
|
54
|
+
sprinkle!
|
data/README.markdown
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
# SPRINKLE
|
2
2
|
|
3
|
-
* <http://redartisan.com/2008/5/27/sprinkle-intro>
|
4
|
-
* <http://github.com/crafterm/sprinkle>
|
5
|
-
* <http://github.com/benschwarz/passenger-stack>
|
6
|
-
* <http://github.com/trevorturk/sprinkle-packages>
|
7
|
-
* <http://www.vimeo.com/2888665>
|
8
|
-
* <http://
|
9
|
-
* <http://
|
3
|
+
* <http://redartisan.com/2008/5/27/sprinkle-intro>
|
4
|
+
* <http://github.com/crafterm/sprinkle>
|
5
|
+
* <http://github.com/benschwarz/passenger-stack>
|
6
|
+
* <http://github.com/trevorturk/sprinkle-packages>
|
7
|
+
* <http://www.vimeo.com/2888665>
|
8
|
+
* <http://maxim.github.com/sprinkle-cheatsheet>
|
9
|
+
* <http://github.com/mingalar/sprinkle-packages>
|
10
|
+
* <http://github.com/stuartellis/spritz>
|
11
|
+
* <http://engineering.gomiso.com/2011/08/26/forget-chef-or-puppet-automate-with-sprinkle/>
|
12
|
+
|
13
|
+
[](https://travis-ci.org/crafterm/sprinkle)
|
10
14
|
|
11
15
|
## DESCRIPTION:
|
12
16
|
|
@@ -20,20 +24,22 @@ define as concisely as possible a language for installing software).
|
|
20
24
|
|
21
25
|
An example package description follows:
|
22
26
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
27
|
+
``` ruby
|
28
|
+
package :ruby do
|
29
|
+
description 'Ruby Virtual Machine'
|
30
|
+
version '1.8.6'
|
31
|
+
source "ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-#{version}-p111.tar.gz"
|
32
|
+
requires :ruby_dependencies
|
33
|
+
|
34
|
+
verify do
|
35
|
+
has_file '/usr/bin/ruby'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
```
|
39
|
+
|
40
|
+
This defines a package called `'ruby'`, that uses the source based installer to build Ruby 1.8.6 from source,
|
41
|
+
installing the package `'ruby_dependencies'` beforehand. Additionally, the package verifies it was installed
|
42
|
+
correctly by verifying the file `'/usr/bin/ruby'` exists after installation. If this verification fails, the
|
37
43
|
sprinkle script will gracefully stop.
|
38
44
|
|
39
45
|
Reasonable defaults are set by sprinkle, such as the install prefix, download area, etc, but can be customized
|
@@ -53,14 +59,16 @@ Packages can be grouped into polices to define several packages that should be i
|
|
53
59
|
|
54
60
|
An example policy:
|
55
61
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
+
``` ruby
|
63
|
+
policy :rails, :roles => :app do
|
64
|
+
requires :rails, :version => '2.1.0'
|
65
|
+
requires :appserver
|
66
|
+
requires :database
|
67
|
+
requires :webserver
|
68
|
+
end
|
69
|
+
```
|
62
70
|
|
63
|
-
This defines a policy called Rails, that applies to machines of role
|
71
|
+
This defines a policy called Rails, that applies to machines of role `:app`. The policy includes the packages
|
64
72
|
rails (version 2.1.0), appserver, database and webserver.
|
65
73
|
|
66
74
|
appserver, database and webserver can be virtual packages, where the user will be prompted for selection if
|
@@ -74,143 +82,147 @@ desired. Sprinkle can also be configured to simply issue installation commands t
|
|
74
82
|
An full example Sprinkle deployment script for deploying Rails (via gems), MySQL (via APT), Apache (via source)
|
75
83
|
and Git (via source with dependencies from APT):
|
76
84
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
85
|
+
``` ruby
|
86
|
+
# Sprinkle Rails deployment script
|
87
|
+
#
|
88
|
+
# This is an example Sprinkle script, configured to install Rails from gems, Apache, Ruby and Git from source,
|
89
|
+
# and mysql and Git dependencies from apt on an Ubuntu system. Installation is configured to run via
|
90
|
+
# Capistrano (and an accompanying deploy.rb recipe script). Source based packages are downloaded and built into
|
91
|
+
# /usr/local on the remote system.
|
92
|
+
#
|
93
|
+
# A sprinkle script is separated into 3 different sections. Packages, policies and deployment.
|
94
|
+
#
|
95
|
+
# Packages
|
96
|
+
#
|
97
|
+
# Defines the world of packages as we know it. Each package has a name and
|
98
|
+
# set of metadata including its installer type (eg. apt, source, gem, etc). Packages can have
|
99
|
+
# relationships to each other via dependencies
|
100
|
+
#
|
101
|
+
# Policies
|
102
|
+
#
|
103
|
+
# Names a group of packages (optionally with versions) that apply to a particular set of roles.
|
104
|
+
#
|
105
|
+
# Deployment
|
106
|
+
#
|
107
|
+
# Defines script wide settings such as a delivery mechanism for executing commands on the target
|
108
|
+
# system (eg. capistrano), and installer defaults (eg. build locations, etc).
|
109
|
+
|
110
|
+
# Packages
|
111
|
+
|
112
|
+
package :ruby do
|
113
|
+
description 'Ruby Virtual Machine'
|
114
|
+
version '1.8.6'
|
115
|
+
source "ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-#{version}-p111.tar.gz"
|
116
|
+
requires :ruby_dependencies
|
117
|
+
end
|
118
|
+
|
119
|
+
package :ruby_dependencies do
|
120
|
+
description 'Ruby Virtual Machine Build Dependencies'
|
121
|
+
apt %w( bison zlib1g-dev libssl-dev libreadline5-dev libncurses5-dev file )
|
122
|
+
end
|
123
|
+
|
124
|
+
package :mysql, :provides => :database do
|
125
|
+
description 'MySQL Database'
|
126
|
+
apt %w( mysql-server mysql-client )
|
127
|
+
end
|
128
|
+
|
129
|
+
package :apache, :provides => :webserver do
|
130
|
+
description 'Apache 2 HTTP Server'
|
131
|
+
version '2.2.9'
|
132
|
+
source "http://apache.wildit.net.au/httpd/httpd-#{version}.tar.bz2" do
|
133
|
+
enable %w( mods-shared=all proxy proxy-balancer proxy-http rewrite cache headers ssl deflate so )
|
134
|
+
prefix "/opt/local/apache2-#{version}"
|
135
|
+
post :install, 'install -m 755 support/apachectl /etc/init.d/apache2', 'update-rc.d -f apache2 defaults'
|
136
|
+
end
|
137
|
+
requires :apache_dependencies
|
138
|
+
end
|
139
|
+
|
140
|
+
package :apache_dependencies do
|
141
|
+
description 'Apache 2 HTTP Server Build Dependencies'
|
142
|
+
apt %w( openssl libtool mawk zlib1g-dev libssl-dev )
|
143
|
+
end
|
144
|
+
|
145
|
+
package :rubygems do
|
146
|
+
description 'Ruby Gems Package Management System'
|
147
|
+
version '1.2.0'
|
148
|
+
source "http://rubyforge.org/frs/download.php/38646/rubygems-#{version}.tgz" do
|
149
|
+
custom_install 'ruby setup.rb'
|
150
|
+
end
|
151
|
+
requires :ruby
|
152
|
+
end
|
153
|
+
|
154
|
+
package :rails do
|
155
|
+
description 'Ruby on Rails'
|
156
|
+
gem 'rails'
|
157
|
+
version '2.1.0'
|
158
|
+
end
|
159
|
+
|
160
|
+
package :mongrel do
|
161
|
+
description 'Mongrel Application Server'
|
162
|
+
gem 'mongrel'
|
163
|
+
version '1.1.5'
|
164
|
+
end
|
165
|
+
|
166
|
+
package :mongrel_cluster, :provides => :appserver do
|
167
|
+
description 'Cluster Management for Mongrel'
|
168
|
+
gem 'mongrel_cluster' # :source => 'http://gems.github.com/' for alternate gem server
|
169
|
+
version '1.0.5'
|
170
|
+
requires :mongrel
|
171
|
+
end
|
172
|
+
|
173
|
+
package :git, :provides => :scm do
|
174
|
+
description 'Git Distributed Version Control'
|
175
|
+
version '1.5.6.3'
|
176
|
+
source "http://kernel.org/pub/software/scm/git/git-#{version}.tar.gz"
|
177
|
+
requires :git_dependencies
|
178
|
+
end
|
179
|
+
|
180
|
+
package :git_dependencies do
|
181
|
+
description 'Git Build Dependencies'
|
182
|
+
apt 'git', :dependencies_only => true
|
183
|
+
end
|
184
|
+
|
185
|
+
# Policies
|
186
|
+
|
187
|
+
# Associates the rails policy to the application servers. Contains rails, and surrounding
|
188
|
+
# packages. Note, appserver, database and webserver are all virtual packages defined above. If
|
189
|
+
# there's only one implementation of a virtual package, it's selected automatically, otherwise
|
190
|
+
# the user is requested to select which one to use.
|
191
|
+
|
192
|
+
policy :rails, :roles => :app do
|
193
|
+
requires :rails, :version => '2.1.0'
|
194
|
+
requires :appserver
|
195
|
+
requires :database
|
196
|
+
requires :webserver
|
197
|
+
requires :scm
|
198
|
+
end
|
199
|
+
|
200
|
+
# Deployment
|
201
|
+
|
202
|
+
# Configures sprinkle to use capistrano for delivery of commands to the remote machines (via
|
203
|
+
# the named 'deploy' recipe). Also configures 'source' installer defaults to put package gear
|
204
|
+
# in /usr/local
|
205
|
+
|
206
|
+
deployment do
|
207
|
+
|
208
|
+
# mechanism for deployment
|
209
|
+
delivery :capistrano do
|
210
|
+
recipes 'deploy'
|
211
|
+
end
|
212
|
+
|
213
|
+
# source based package installer defaults
|
214
|
+
source do
|
215
|
+
prefix '/usr/local' # where all source packages will be configured to install
|
216
|
+
archives '/usr/local/sources' # where all source packages will be downloaded to
|
217
|
+
builds '/usr/local/build' # where all source packages will be built
|
218
|
+
end
|
219
|
+
|
220
|
+
end
|
221
|
+
```
|
222
|
+
|
223
|
+
Please see the examples directory for more complete examples of Sprinkle deployment scripts, and
|
224
|
+
also the [Passenger Stack github page](http://github.com/benschwarz/passenger-stack) and video by
|
225
|
+
(Ben Schwarz)[http://www.vimeo.com/2888665].
|
214
226
|
|
215
227
|
Sprinkle is a work in progress and I'm excited to hear if anyone finds it useful - please feel free to
|
216
228
|
comment, ask any questions, or send in any ideas, patches, bugs. All most welcome.
|
@@ -221,7 +233,7 @@ Marcus Crafter <crafterm@redartisan.com>
|
|
221
233
|
|
222
234
|
(The MIT License)
|
223
235
|
|
224
|
-
Copyright (c) 2008-
|
236
|
+
Copyright (c) 2008-2013 Marcus Crafter <crafterm@redartisan.com>
|
225
237
|
|
226
238
|
Permission is hereby granted, free of charge, to any person obtaining
|
227
239
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
@@ -1,35 +1,13 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rake'
|
3
3
|
require 'rspec/core/rake_task'
|
4
|
-
|
5
|
-
|
6
|
-
require 'jeweler'
|
7
|
-
Jeweler::Tasks.new do |gem|
|
8
|
-
gem.name = "sprinkle"
|
9
|
-
gem.summary = "Ruby DSL based software provisioning tool"
|
10
|
-
gem.description = "Ruby DSL based software provisioning tool"
|
11
|
-
gem.email = "crafterm@redartisan.com"
|
12
|
-
gem.rubyforge_project = 'sprinkle'
|
13
|
-
gem.homepage = "http://github.com/crafterm/sprinkle"
|
14
|
-
gem.authors = ["Marcus Crafter"]
|
15
|
-
gem.add_development_dependency("rspec", ">= 2.5")
|
16
|
-
gem.add_dependency('activesupport', '>= 2.0.2')
|
17
|
-
gem.add_dependency('highline', '>= 1.4.0')
|
18
|
-
gem.add_dependency('capistrano', '>= 2.5.5')
|
19
|
-
|
20
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
21
|
-
end
|
22
|
-
Jeweler::GemcutterTasks.new
|
23
|
-
rescue LoadError
|
24
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
25
|
-
end
|
4
|
+
require 'rdoc/task'
|
5
|
+
require './lib/sprinkle/version'
|
26
6
|
|
27
7
|
task "inst" => [:clobber, :build] do
|
28
8
|
puts `gem install pkg/sprinkle-*.gem`
|
29
9
|
end
|
30
10
|
|
31
|
-
task :spec => :check_dependencies
|
32
|
-
|
33
11
|
desc 'Default: run specs.'
|
34
12
|
task :default => :spec
|
35
13
|
|
@@ -46,10 +24,8 @@ RSpec::Core::RakeTask.new(:coverage) do |t|
|
|
46
24
|
t.rcov_opts = ['--exclude', 'spec']
|
47
25
|
end
|
48
26
|
|
49
|
-
|
50
|
-
|
51
|
-
Rake::RDocTask.new do |rdoc|
|
52
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
27
|
+
RDoc::Task.new do |rdoc|
|
28
|
+
version = Sprinkle::Version
|
53
29
|
|
54
30
|
rdoc.rdoc_dir = 'rdoc'
|
55
31
|
rdoc.title = "sprinkle #{version}"
|