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.
- data/ChangeLog +194 -0
- data/LICENSE +27 -0
- data/README +100 -0
- data/Rakefile +238 -0
- data/Rakefile.local +4 -0
- data/lib/darkfish-rdoc.rb +26 -0
- data/lib/rdoc/generator/darkfish.rb +456 -0
- data/rake/dependencies.rb +62 -0
- data/rake/helpers.rb +350 -0
- data/rake/manual.rb +384 -0
- data/rake/packaging.rb +112 -0
- data/rake/publishing.rb +301 -0
- data/rake/rdoc.rb +30 -0
- data/rake/style.rb +62 -0
- data/rake/svn.rb +441 -0
- data/rake/testing.rb +191 -0
- data/rake/verifytask.rb +64 -0
- metadata +86 -0
data/ChangeLog
ADDED
@@ -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
|
+
|
data/Rakefile
ADDED
@@ -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
|
+
|