darkfish-rdoc 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+