darkfish-rdoc 1.1.1

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.
@@ -0,0 +1,194 @@
1
+ -- Thu, 07 Aug 2008 06:56:40 -0000 by deveiant (r18) -----
2
+ Added: lib/rdoc/generator/darkfish.rb
3
+ -> renamed from /trunk/lib/rdoc/generator/darkfish_generator.rb@r16
4
+ LICENSE (new)
5
+ project.yml (new)
6
+ ChangeLog (new)
7
+ Rakefile.local (new)
8
+ lib/rdoc/generator/template/darkfish/js/darkfish.js (new) (and 1 other/s)
9
+ Changed: /trunk
10
+ lib/rdoc/generator/template/darkfish/classpage.rhtml
11
+ Rakefile
12
+ lib/darkfish-rdoc.rb
13
+ Deleted: lib/rdoc/generator/darkfish_generator.rb
14
+
15
+ Integrated new Rake build system.
16
+
17
+
18
+ -- Tue, 29 Jul 2008 14:52:26 -0000 by deveiant (r17) -----
19
+ Changed: lib/darkfish-rdoc.rb
20
+
21
+ Fixed bug in darkfish-rdoc: 'generators' -> 'generator'
22
+
23
+
24
+ -- Mon, 30 Jun 2008 19:06:36 -0000 by deveiant (r16) -----
25
+ Added: lib/rdoc/generator
26
+ -> renamed from /trunk/lib/rdoc/generators@r14
27
+ Changed: Rakefile
28
+ lib/darkfish-rdoc.rb
29
+ Deleted: lib/rdoc/generators
30
+
31
+ Beginning conversion to Rdoc 2.0. Broken for now; see tags/RDOC_1 for a working
32
+ RDoc 1.x version.
33
+
34
+
35
+ -- Wed, 21 May 2008 17:08:10 -0000 by deveiant (r14) -----
36
+ Added: darkfish_preview.png (new)
37
+ lib/darkfish-rdoc.rb (new)
38
+ Changed: README
39
+ /trunk
40
+ Rakefile
41
+ lib/rdoc/generators/template/darkfish/js/jquery.js
42
+ lib/rdoc/generators/template/darkfish/classpage.rhtml
43
+ lib/rdoc/generators/darkfish_generator.rb (and 2 other/s)
44
+
45
+ * Added a `require`-able library that injects the generator into RDoc's known
46
+ generator hash.
47
+ * Modified method anchors to be the method name instead of a random number --
48
+ this will break URLs generated by RDoc, but I'd rather have sensible URLs.
49
+ * Added a javascript hook that highlights the current page target if there is one.
50
+ * Updated jQuery to 1.2.4
51
+
52
+
53
+ -- Sat, 03 May 2008 02:56:54 -0000 by deveiant (r13) -----
54
+ Changed: lib/rdoc/generators/darkfish_generator.rb
55
+
56
+ Added some more output path debugging
57
+
58
+
59
+ -- Tue, 18 Mar 2008 15:52:57 -0000 by deveiant (r12) -----
60
+ Added: lib/rdoc/generators/template/darkfish/classpage.rhtml
61
+ -> renamed from /trunk/lib/rdoc/generators/template/classpage.rhtml@r10
62
+ lib/rdoc/generators/template/darkfish/index.rhtml
63
+ -> renamed from /trunk/lib/rdoc/generators/template/index.rhtml@r10
64
+ lib/rdoc/generators/template/darkfish (new)
65
+ lib/rdoc/generators/template/darkfish/filepage.rhtml
66
+ -> renamed from /trunk/lib/rdoc/generators/template/filepage.rhtml@r10
67
+ lib/rdoc/generators/template/darkfish/images
68
+ -> renamed from /trunk/lib/rdoc/generators/template/images@r10
69
+ lib/rdoc/generators/template/darkfish/js
70
+ -> renamed from /trunk/lib/rdoc/generators/template/js@r10 (and 2 other/s)
71
+ Changed: lib/rdoc/generators/darkfish_generator.rb
72
+ Rakefile
73
+ misc/rake/svn.rb
74
+ Deleted: lib/rdoc/generators/template/js
75
+ lib/rdoc/generators/template/rdoc.css
76
+ lib/rdoc/generators/template/classpage.rhtml
77
+ lib/rdoc/generators/template/index.rhtml
78
+ lib/rdoc/generators/template/filepage.rhtml
79
+ lib/rdoc/generators/template/images (and 1 other/s)
80
+
81
+ * Set up rdoc options to use itself for docs.
82
+ * Set up sensible package tasks
83
+ * Made the chatty output of the generator only show up if $DEBUG is turned on.
84
+ * Moved everything in the `template` directory into a `darkfish` subdirectory for interoperability
85
+ with other RDoc generators.
86
+
87
+
88
+ -- Mon, 18 Feb 2008 14:33:06 -0000 by deveiant (r11) -----
89
+ Changed: README
90
+ lib/rdoc/generators/template/rdoc.css
91
+
92
+ * Updated README
93
+ * Fixed up CSS for the index page.
94
+
95
+
96
+ -- Sat, 16 Feb 2008 08:11:47 -0000 by deveiant (r10) -----
97
+ Added: README (new)
98
+ lib/rdoc (new)
99
+ lib/rdoc/generators/template
100
+ -> copied from /trunk/generators/template@r9
101
+ misc/prototype.html
102
+ -> renamed from /trunk/prototype.html@r8
103
+ lib (new)
104
+ lib/rdoc/generators
105
+ -> renamed from /trunk/generators@r8 (and 3 other/s)
106
+ Changed: /trunk
107
+ Rakefile
108
+ misc/rake/svn.rb
109
+ Deleted: index-prototype.html
110
+ misc/rake/verifytask.rb
111
+ prototype.html
112
+ generators
113
+
114
+ * Added README
115
+ * Rakefile
116
+ - Added an dog-food 'rdoc' task
117
+ - Fixed up the 'install' task
118
+ * Rearranged directories for easy building/installation.
119
+ * Put prototype HTML files into misc/
120
+
121
+
122
+ -- Sat, 16 Feb 2008 06:19:51 -0000 by deveiant (r9) -----
123
+ Added: misc/rake (new)
124
+ misc/rake/helpers.rb (new)
125
+ Rakefile (new)
126
+ misc/rake/svn.rb (new)
127
+ misc/rake/verifytask.rb (new)
128
+ misc (new) (and 1 other/s)
129
+ Changed: generators/template/rdoc.css
130
+ generators/template/classpage.rhtml
131
+ generators/darkfish_generator.rb
132
+
133
+ Reorganizing for release.
134
+
135
+
136
+ -- Thu, 03 Jan 2008 19:40:24 -0000 by deveiant (r8) -----
137
+ Changed: generators/template/index.rhtml
138
+
139
+ Removed the description bit from the index page -- there's just no way to make it work gracefully.
140
+
141
+
142
+ -- Fri, 19 Oct 2007 01:04:31 -0000 by deveiant (r7) -----
143
+ Changed: generators/template/rdoc.css
144
+ generators/template/classpage.rhtml
145
+
146
+ Fixes for C source documentation, a few CSS tweaks
147
+
148
+
149
+ -- Thu, 18 Oct 2007 15:15:47 -0000 by deveiant (r6) -----
150
+ Added: generators/template/images/macFFBgHack.png (new)
151
+ Changed: generators/template/rdoc.css
152
+
153
+ Fixed missing piece of ThickBox for FF on the Mac
154
+
155
+
156
+ -- Fri, 12 Oct 2007 00:20:02 -0000 by deveiant (r5) -----
157
+ Changed: generators/darkfish_generator.rb
158
+
159
+ Add time constants for the time-detla calculations
160
+
161
+
162
+ -- Thu, 11 Oct 2007 21:05:25 -0000 by deveiant (r4) -----
163
+ Changed: generators/template/rdoc.css
164
+ generators/darkfish_generator.rb
165
+
166
+ * Updated definition lists in the description to not look like ass.
167
+ * Documentation touchups.
168
+
169
+
170
+ -- Wed, 10 Oct 2007 20:40:20 -0000 by deveiant (r3) -----
171
+ Changed: generators/darkfish_generator.rb
172
+
173
+ Added a Generators::DARKFISHGenerators alias to work around Rdoc's assumption that all formats are acronyms.
174
+
175
+
176
+ -- Wed, 10 Oct 2007 19:33:33 -0000 by deveiant (r2) -----
177
+ Added: generators/template/images/wrench_orange.png (new)
178
+ generators/template/images/zoom.png (new)
179
+ generators/template/js (new)
180
+ generators/template/images/wrench.png (new)
181
+ generators/template/rdoc.css (new)
182
+ generators/template/images/tag_green.png (new) (and 40 other/s)
183
+
184
+ Initial commit
185
+
186
+
187
+ -- Wed, 10 Oct 2007 16:31:51 -0000 by deveiant (r1) -----
188
+ Added: /trunk (new)
189
+ /branches (new)
190
+ /tags (new)
191
+
192
+ Setting up repository structure
193
+
194
+
data/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ Copyright (c) 2008, Michael Granger
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice,
8
+ this list of conditions and the following disclaimer.
9
+
10
+ * Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ * Neither the name of the author/s, nor the names of the project's
15
+ contributors may be used to endorse or promote products derived from this
16
+ software without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
22
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README ADDED
@@ -0,0 +1,100 @@
1
+ = Darkfish Rdoc Generator
2
+
3
+ This is a complete replacement for the default HTML generator for Rdoc.
4
+
5
+ I created it with a few goals in mind:
6
+
7
+ * Replace the four-frame layout with three different indexes with a single-page,
8
+ class/module-focused view.
9
+
10
+ * I helped write what became the default look and feel for Rdoc, but it's
11
+ starting to show its age. I wanted to update it with new CSS and Javascript
12
+ for modern browsers.
13
+
14
+ * Add some of the nifty searching and index-on-the-side stuff I liked from the
15
+ modified Allison template (<URL:http://www.superalloy.nl/blog/?p=7>) Eloy
16
+ Duran came up with.
17
+
18
+ * Implemented using ERB templates instead of Rdoc's constants-in-a-module style
19
+ templating.
20
+
21
+ I think I mostly succeeded, and it's nice enough that I wanted to use it for all
22
+ my documentation, and I thought you might want to, too. Or at least be able to
23
+ tweak it to generate your own spiffy docs.
24
+
25
+ It looks like this:
26
+
27
+ http://deveiate.org/darkfish_preview.png
28
+
29
+ == Getting Started
30
+
31
+ If you haven't installed it yet, you can install it via RubyGems:
32
+
33
+ $ sudo gem install darkfish-rdoc
34
+
35
+ Or download the source and do:
36
+
37
+ $ sudo rake install
38
+
39
+ == Usage
40
+
41
+ To use it, just specify that you want 'darkfish' output instead of the default
42
+ when you run Rdoc:
43
+
44
+ $ rdoc -w 4 -SHN -f darkfish -m README README lib
45
+
46
+ Or from a Rakefile:
47
+
48
+ ### Task: rdoc
49
+ require 'rake/rdoctask'
50
+ gem 'darkfish-rdoc'
51
+
52
+ Rake::RDocTask.new do |rdoc|
53
+ rdoc.title = "My Awesome SnoCone Library"
54
+
55
+ rdoc.options += [
56
+ '-w', '4',
57
+ '-SHN',
58
+ '-f', 'darkfish', # This bit
59
+ '-m', 'README',
60
+ ]
61
+
62
+ rdoc.rdoc_files.include 'README'
63
+ rdoc.rdoc_files.include 'lib/snocone.rb'
64
+ end
65
+
66
+
67
+ That's it.
68
+
69
+ == Feedback
70
+
71
+ I'd be happy to have feedback via email <URL: mailto:ged at FaerieMUD dot org> or a ticket on
72
+ the project's Trac:
73
+
74
+ http://deveiate.org/projects/Darkfish-Rdoc/
75
+
76
+ == License
77
+
78
+ Copyright (c) 2007, 2008, The FaerieMUD Consortium
79
+ All rights reserved.
80
+
81
+ Permission is hereby granted, free of charge, to any person obtaining a copy
82
+ of this software and associated documentation files (the "Software"), to deal
83
+ in the Software without restriction, including without limitation the rights
84
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
85
+ copies of the Software, and to permit persons to whom the Software is
86
+ furnished to do so, subject to the following conditions:
87
+
88
+ The above copyright notice and this permission notice shall be included in
89
+ all copies or substantial portions of the Software.
90
+
91
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
92
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
93
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
94
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
95
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
96
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
97
+ THE SOFTWARE.
98
+
99
+
100
+
@@ -0,0 +1,238 @@
1
+ #!rake
2
+ #
3
+ # Darkfish-Rdoc rakefile
4
+ #
5
+ # Based on various other Rakefiles, especially one by Ben Bleything
6
+ #
7
+ # Copyright (c) 2008 The FaerieMUD Consortium
8
+ #
9
+ # Authors:
10
+ # * Michael Granger <ged@FaerieMUD.org>
11
+ #
12
+
13
+ BEGIN {
14
+ require 'pathname'
15
+ basedir = Pathname.new( __FILE__ ).dirname
16
+
17
+ libdir = basedir + "lib"
18
+ extdir = basedir + "ext"
19
+
20
+ $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
21
+ $LOAD_PATH.unshift( extdir.to_s ) unless $LOAD_PATH.include?( extdir.to_s )
22
+ }
23
+
24
+
25
+ require 'rbconfig'
26
+ require 'rubygems'
27
+ require 'rake'
28
+ require 'rake/rdoctask'
29
+ require 'rake/testtask'
30
+ require 'rake/packagetask'
31
+ require 'rake/clean'
32
+
33
+ $dryrun = false
34
+
35
+ ### Config constants
36
+ BASEDIR = Pathname.new( __FILE__ ).dirname.relative_path_from( Pathname.getwd )
37
+ LIBDIR = BASEDIR + 'lib'
38
+ EXTDIR = BASEDIR + 'ext'
39
+ DOCSDIR = BASEDIR + 'docs'
40
+ PKGDIR = BASEDIR + 'pkg'
41
+
42
+ PKG_NAME = 'darkfish-rdoc'
43
+ PKG_SUMMARY = 'A pretty (different) Rdoc HTML generator'
44
+ VERSION_FILE = LIBDIR + 'darkfish-rdoc.rb'
45
+ PKG_VERSION = VERSION_FILE.read[ /VERSION = '(\d+\.\d+\.\d+)'/, 1 ]
46
+ PKG_FILE_NAME = "#{PKG_NAME.downcase}-#{PKG_VERSION}"
47
+ GEM_FILE_NAME = "#{PKG_FILE_NAME}.gem"
48
+
49
+ ARTIFACTS_DIR = Pathname.new( ENV['CC_BUILD_ARTIFACTS'] || 'artifacts' )
50
+
51
+ TEXT_FILES = %w( Rakefile ChangeLog README LICENSE ).collect {|filename| BASEDIR + filename }
52
+ LIB_FILES = Pathname.glob( LIBDIR + '**/*.rb' ).delete_if {|item| item =~ /\.svn/ }
53
+ EXT_FILES = Pathname.glob( EXTDIR + '**/*.{c,h,rb}' ).delete_if {|item| item =~ /\.svn/ }
54
+
55
+ SPECDIR = BASEDIR + 'spec'
56
+ SPEC_FILES = Pathname.glob( SPECDIR + '**/*_spec.rb' ).delete_if {|item| item =~ /\.svn/ }
57
+
58
+ TESTDIR = BASEDIR + 'tests'
59
+ TEST_FILES = Pathname.glob( TESTDIR + '**/*.tests.rb' ).delete_if {|item| item =~ /\.svn/ }
60
+
61
+ RAKE_TASKDIR = BASEDIR + 'rake'
62
+ RAKE_TASKLIBS = Pathname.glob( RAKE_TASKDIR + '*.rb' )
63
+
64
+ LOCAL_RAKEFILE = BASEDIR + 'Rakefile.local'
65
+
66
+ RELEASE_FILES = TEXT_FILES + SPEC_FILES + TEST_FILES + LIB_FILES + EXT_FILES + RAKE_TASKLIBS
67
+ RELEASE_FILES << LOCAL_RAKEFILE if LOCAL_RAKEFILE.exist?
68
+
69
+ COVERAGE_MINIMUM = ENV['COVERAGE_MINIMUM'] ? Float( ENV['COVERAGE_MINIMUM'] ) : 85.0
70
+ RCOV_EXCLUDES = 'spec,tests,/Library/Ruby,/var/lib,/usr/local/lib'
71
+ RCOV_OPTS = [
72
+ '--exclude', RCOV_EXCLUDES,
73
+ '--xrefs',
74
+ '--save',
75
+ '--callsites',
76
+ #'--aggregate', 'coverage.data' # <- doesn't work as of 0.8.1.2.0
77
+ ]
78
+
79
+
80
+ # Subversion constants -- directory names for releases and tags
81
+ SVN_TRUNK_DIR = 'trunk'
82
+ SVN_RELEASES_DIR = 'releases'
83
+ SVN_BRANCHES_DIR = 'branches'
84
+ SVN_TAGS_DIR = 'tags'
85
+
86
+ SVN_DOTDIR = BASEDIR + '.svn'
87
+ SVN_ENTRIES = SVN_DOTDIR + 'entries'
88
+
89
+
90
+ ### Load some task libraries that need to be loaded early
91
+ require RAKE_TASKDIR + 'helpers.rb'
92
+ require RAKE_TASKDIR + 'svn.rb'
93
+ require RAKE_TASKDIR + 'verifytask.rb'
94
+
95
+ # Define some constants that depend on the 'svn' tasklib
96
+ PKG_BUILD = get_svn_rev( BASEDIR ) || 0
97
+ SNAPSHOT_PKG_NAME = "#{PKG_FILE_NAME}.#{PKG_BUILD}"
98
+ SNAPSHOT_GEM_NAME = "#{SNAPSHOT_PKG_NAME}.gem"
99
+
100
+ # Documentation constants
101
+ RDOC_OPTIONS = [
102
+ '-w', '4',
103
+ '-SHN',
104
+ '-i', '.',
105
+ '-m', 'README',
106
+ '-W', 'http://deveiate.org/projects/Darkfish-Rdoc//browser/trunk/'
107
+ ]
108
+
109
+ # Release constants
110
+ SMTP_HOST = 'mail.faeriemud.org'
111
+ SMTP_PORT = 465 # SMTP + SSL
112
+
113
+ # Project constants
114
+ PROJECT_HOST = 'deveiate.org'
115
+ PROJECT_PUBDIR = "/usr/local/www/public/code"
116
+ PROJECT_DOCDIR = "#{PROJECT_PUBDIR}/#{PKG_NAME}"
117
+ PROJECT_SCPURL = "#{PROJECT_HOST}:#{PROJECT_DOCDIR}"
118
+
119
+ # Rubyforge stuff
120
+ RUBYFORGE_GROUP = 'deveiate'
121
+ RUBYFORGE_PROJECT = 'darkfish-rdoc'
122
+
123
+ # Gem dependencies: gemname => version
124
+ DEPENDENCIES = {
125
+ 'rdoc: >= 2.1.0' => '',
126
+ }
127
+
128
+ # Non-gem requirements: packagename => version
129
+ REQUIREMENTS = {
130
+ }
131
+
132
+ # RubyGem specification
133
+ GEMSPEC = Gem::Specification.new do |gem|
134
+ gem.name = PKG_NAME.downcase
135
+ gem.version = PKG_VERSION
136
+
137
+ gem.summary = PKG_SUMMARY
138
+ gem.description = <<-EOD
139
+ A complete replacement for the default HTML generator for Rdoc, the
140
+ API documentation-extraction system for Ruby.
141
+ EOD
142
+
143
+ gem.authors = 'Michael Granger'
144
+ gem.email = 'ged@FaerieMUD.org'
145
+ gem.homepage = 'http://deveiate.org/projects/Darkfish-Rdoc/'
146
+ gem.rubyforge_project = RUBYFORGE_PROJECT
147
+
148
+ gem.has_rdoc = true
149
+ gem.rdoc_options = RDOC_OPTIONS
150
+
151
+ gem.files = RELEASE_FILES.
152
+ collect {|f| f.relative_path_from(BASEDIR).to_s }
153
+ gem.test_files = SPEC_FILES.
154
+ collect {|f| f.relative_path_from(BASEDIR).to_s }
155
+
156
+ DEPENDENCIES.each do |name, version|
157
+ version = '>= 0' if version.length.zero?
158
+ gem.add_dependency( name, version )
159
+ end
160
+
161
+ REQUIREMENTS.each do |name, version|
162
+ gem.requirements << [ name, version ].compact.join(' ')
163
+ end
164
+ end
165
+
166
+ $trace = Rake.application.options.trace ? true : false
167
+ $dryrun = Rake.application.options.dryrun ? true : false
168
+
169
+
170
+ # Load any remaining task libraries
171
+ RAKE_TASKLIBS.each do |tasklib|
172
+ next if tasklib =~ %r{/(helpers|svn|verifytask)\.rb$}
173
+ begin
174
+ require tasklib
175
+ rescue ScriptError => err
176
+ fail "Task library '%s' failed to load: %s: %s" %
177
+ [ tasklib, err.class.name, err.message ]
178
+ trace "Backtrace: \n " + err.backtrace.join( "\n " )
179
+ rescue => err
180
+ log "Task library '%s' failed to load: %s: %s. Some tasks may not be available." %
181
+ [ tasklib, err.class.name, err.message ]
182
+ trace "Backtrace: \n " + err.backtrace.join( "\n " )
183
+ end
184
+ end
185
+
186
+ # Load any project-specific rules defined in 'Rakefile.local' if it exists
187
+ import LOCAL_RAKEFILE if LOCAL_RAKEFILE.exist?
188
+
189
+
190
+ #####################################################################
191
+ ### T A S K S
192
+ #####################################################################
193
+
194
+ ### Default task
195
+ task :default => [:clean, :spec, :rdoc, :package]
196
+
197
+
198
+ ### Task: clean
199
+ CLEAN.include 'coverage'
200
+ CLOBBER.include 'artifacts', 'coverage.info', PKGDIR
201
+
202
+ # Target to hinge on ChangeLog updates
203
+ file SVN_ENTRIES
204
+
205
+ ### Task: changelog
206
+ file 'ChangeLog' => SVN_ENTRIES.to_s do |task|
207
+ log "Updating #{task.name}"
208
+
209
+ changelog = make_svn_changelog()
210
+ File.open( task.name, 'w' ) do |fh|
211
+ fh.print( changelog )
212
+ end
213
+ end
214
+
215
+
216
+ ### Task: cruise (Cruisecontrol task)
217
+ desc "Cruisecontrol build"
218
+ task :cruise => [:clean, :spec, :package] do |task|
219
+ raise "Artifacts dir not set." if ARTIFACTS_DIR.to_s.empty?
220
+ artifact_dir = ARTIFACTS_DIR.cleanpath
221
+ artifact_dir.mkpath
222
+
223
+ $stderr.puts "Copying coverage stats..."
224
+ FileUtils.cp_r( 'coverage', artifact_dir )
225
+
226
+ $stderr.puts "Copying packages..."
227
+ FileUtils.cp_r( FileList['pkg/*'].to_a, artifact_dir )
228
+ end
229
+
230
+
231
+ desc "Update the build system to the latest version"
232
+ task :update_build do
233
+ log "Updating the build system"
234
+ sh 'svn', 'up', RAKE_TASKDIR
235
+ log "Updating the Rakefile"
236
+ sh 'rake', '-f', RAKE_TASKDIR + 'Metarakefile'
237
+ end
238
+