wordnet 0.0.5
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 +720 -0
- data/LICENSE +27 -0
- data/README +93 -0
- data/Rakefile +291 -0
- data/Rakefile.local +46 -0
- data/convertdb.rb +417 -0
- data/examples/addLacedBoots.rb +27 -0
- data/examples/clothesWithCollars.rb +36 -0
- data/examples/clothesWithTongues.rb +28 -0
- data/examples/distance.rb +37 -0
- data/examples/domainTree.rb +27 -0
- data/examples/gcs.rb +54 -0
- data/examples/holonymTree.rb +27 -0
- data/examples/hypernymTree.rb +28 -0
- data/examples/hyponymTree.rb +28 -0
- data/examples/memberTree.rb +27 -0
- data/examples/meronymTree.rb +29 -0
- data/lib/wordnet.rb +87 -0
- data/lib/wordnet/constants.rb +301 -0
- data/lib/wordnet/lexicon.rb +430 -0
- data/lib/wordnet/synset.rb +908 -0
- data/rake/dependencies.rb +76 -0
- data/rake/helpers.rb +384 -0
- data/rake/manual.rb +755 -0
- data/rake/packaging.rb +112 -0
- data/rake/publishing.rb +303 -0
- data/rake/rdoc.rb +35 -0
- data/rake/style.rb +62 -0
- data/rake/svn.rb +469 -0
- data/rake/testing.rb +192 -0
- data/rake/verifytask.rb +64 -0
- data/spec/lib/helpers.rb +155 -0
- data/spec/wordnet/lexicon_spec.rb +248 -0
- data/spec/wordnet/synset_spec.rb +288 -0
- data/utils.rb +838 -0
- metadata +216 -0
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,93 @@
|
|
1
|
+
= Ruby-WordNet
|
2
|
+
== General Information
|
3
|
+
|
4
|
+
This library is a Ruby interface to WordNet�. WordNet� is an online lexical
|
5
|
+
reference system whose design is inspired by current psycholinguistic theories
|
6
|
+
of human lexical memory. English nouns, verbs, adjectives and adverbs are
|
7
|
+
organized into synonym sets, each representing one underlying lexical
|
8
|
+
concept. Different relations link the synonym sets.
|
9
|
+
|
10
|
+
You can find out more about WordNet� at <http://wordnet.princeton.edu/>.
|
11
|
+
|
12
|
+
This code was loosely based on the Lingua::Wordnet Perl module by Dan Brian, and
|
13
|
+
uses a similar strategy of converting the WordNet data files into a BerkeleyDB
|
14
|
+
database. The 'convertdb.rb' script in this directory can be used to build these
|
15
|
+
databases from the WordNet dictionaries.
|
16
|
+
|
17
|
+
This module is intended to offer basically the same functionality as
|
18
|
+
Lingua::Wordnet, and you should be able to use either (or both) to access and
|
19
|
+
modify the lexical database interchangeably. This module attempts to remain
|
20
|
+
fairly close in API to Lingua::Wordnet, so if you're familiar with it already,
|
21
|
+
you should be able to port things from one to the other with relatively little
|
22
|
+
trouble. This module, however, uses BerkeleyDB's transaction subsystem to allow
|
23
|
+
safe concurrent access to the databases.
|
24
|
+
|
25
|
+
Many thanks to Dan Brian, who did most of the hard work. His efforts made my job
|
26
|
+
mostly a matter of playing around.
|
27
|
+
|
28
|
+
|
29
|
+
== Caveats
|
30
|
+
|
31
|
+
The database-writing portions of this code have not been extensively tested, and
|
32
|
+
there are almost certainly bugs which will cause data to be lost or
|
33
|
+
miswritten. You should make backups of changes you make periodically.
|
34
|
+
|
35
|
+
I would greatly appreciate feedback on any aspect of this software. Suggestions,
|
36
|
+
feature requests, questions, design critiques, and bug reports are most
|
37
|
+
welcome. Relevant patches are particularly helpful. I may be reached at
|
38
|
+
<ged@FaerieMUD.org>.
|
39
|
+
|
40
|
+
|
41
|
+
== Installation
|
42
|
+
|
43
|
+
If you use RubyGems, you can install via:
|
44
|
+
|
45
|
+
$ sudo gem install wordnet
|
46
|
+
|
47
|
+
You can also install as a site library via the Rakefile:
|
48
|
+
|
49
|
+
$ wget http://deveiate.org/code/wordnet-x.y.z.tar.gz
|
50
|
+
$ tar xzvf wordnet-x.y.z.tar.gz
|
51
|
+
$ cd wordnet-x.y.z
|
52
|
+
$ sudo rake install
|
53
|
+
|
54
|
+
|
55
|
+
== More Information
|
56
|
+
|
57
|
+
There is a project page for Ruby-WordNet which can be found at:
|
58
|
+
<http://deveiate.org/projects/Ruby-WordNet/>.
|
59
|
+
|
60
|
+
This library was developed as part of the FaerieMUD Project. For more
|
61
|
+
information about the FaerieMUD project see <http://www.FaerieMUD.org/>.
|
62
|
+
|
63
|
+
You may also check out the latest development source for this module (which may or
|
64
|
+
may not be different than the release) using Subversion from the following URL:
|
65
|
+
|
66
|
+
svn://deveiate.org/Ruby-WordNet/trunk
|
67
|
+
|
68
|
+
|
69
|
+
== Authors
|
70
|
+
|
71
|
+
* Michael Granger <ged@FaerieMUD.org>
|
72
|
+
|
73
|
+
|
74
|
+
== Legal
|
75
|
+
|
76
|
+
Ruby-WordNet is Open Source Software which is Copyright � 2001-2008 by The
|
77
|
+
FaerieMUD Consortium.
|
78
|
+
|
79
|
+
It is licensed under the modified BSD license. See the LICENSE file for details.
|
80
|
+
|
81
|
+
WordNet� is a registered trademark of Princeton University.
|
82
|
+
|
83
|
+
Lingua::Wordnet is code licensed under the following terms:
|
84
|
+
|
85
|
+
Lingua::Wordnet
|
86
|
+
Copyright 1999,2000,2001 by Dan Brian.
|
87
|
+
|
88
|
+
This program is free software; you can redistribute it and/or modify
|
89
|
+
it under the same terms as Perl itself.
|
90
|
+
|
91
|
+
|
92
|
+
$Id: README 95 2008-09-05 18:49:25Z deveiant $
|
93
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,291 @@
|
|
1
|
+
#!rake
|
2
|
+
#
|
3
|
+
# WordNet 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
|
+
BINDIR = BASEDIR + 'bin'
|
38
|
+
LIBDIR = BASEDIR + 'lib'
|
39
|
+
EXTDIR = BASEDIR + 'ext'
|
40
|
+
DOCSDIR = BASEDIR + 'docs'
|
41
|
+
PKGDIR = BASEDIR + 'pkg'
|
42
|
+
|
43
|
+
PROJECT_NAME = 'WordNet'
|
44
|
+
PKG_NAME = PROJECT_NAME.downcase
|
45
|
+
PKG_SUMMARY = 'a Ruby interface to the WordNet Lexical Database'
|
46
|
+
VERSION_FILE = LIBDIR + 'wordnet.rb'
|
47
|
+
PKG_VERSION = VERSION_FILE.read[ /VERSION = '(\d+\.\d+\.\d+)'/, 1 ]
|
48
|
+
PKG_FILE_NAME = "#{PKG_NAME.downcase}-#{PKG_VERSION}"
|
49
|
+
GEM_FILE_NAME = "#{PKG_FILE_NAME}.gem"
|
50
|
+
|
51
|
+
ARTIFACTS_DIR = Pathname.new( ENV['CC_BUILD_ARTIFACTS'] || 'artifacts' )
|
52
|
+
|
53
|
+
TEXT_FILES = %w( Rakefile ChangeLog README LICENSE ).collect {|filename| BASEDIR + filename }
|
54
|
+
BIN_FILES = Pathname.glob( BINDIR + '*' ).delete_if {|item| item =~ /\.svn/ }
|
55
|
+
LIB_FILES = Pathname.glob( LIBDIR + '**/*.rb' ).delete_if {|item| item =~ /\.svn/ }
|
56
|
+
EXT_FILES = Pathname.glob( EXTDIR + '**/*.{c,h,rb}' ).delete_if {|item| item =~ /\.svn/ }
|
57
|
+
|
58
|
+
SPECDIR = BASEDIR + 'spec'
|
59
|
+
SPECLIBDIR = SPECDIR + 'lib'
|
60
|
+
SPEC_FILES = Pathname.glob( SPECDIR + '**/*_spec.rb' ).delete_if {|item| item =~ /\.svn/ } +
|
61
|
+
Pathname.glob( SPECLIBDIR + '**/*.rb' ).delete_if {|item| item =~ /\.svn/ }
|
62
|
+
|
63
|
+
TESTDIR = BASEDIR + 'tests'
|
64
|
+
TEST_FILES = Pathname.glob( TESTDIR + '**/*.tests.rb' ).delete_if {|item| item =~ /\.svn/ }
|
65
|
+
|
66
|
+
RAKE_TASKDIR = BASEDIR + 'rake'
|
67
|
+
RAKE_TASKLIBS = Pathname.glob( RAKE_TASKDIR + '*.rb' )
|
68
|
+
|
69
|
+
LOCAL_RAKEFILE = BASEDIR + 'Rakefile.local'
|
70
|
+
|
71
|
+
EXTRA_PKGFILES = []
|
72
|
+
EXTRA_PKGFILES.concat Pathname.glob( BASEDIR + 'convertdb.rb' ).delete_if {|item| item =~ /\.svn/ }
|
73
|
+
EXTRA_PKGFILES.concat Pathname.glob( BASEDIR + 'utils.rb' ).delete_if {|item| item =~ /\.svn/ }
|
74
|
+
EXTRA_PKGFILES.concat Pathname.glob( BASEDIR + 'examples/*.rb' ).delete_if {|item| item =~ /\.svn/ }
|
75
|
+
|
76
|
+
RELEASE_FILES = TEXT_FILES +
|
77
|
+
SPEC_FILES +
|
78
|
+
TEST_FILES +
|
79
|
+
BIN_FILES +
|
80
|
+
LIB_FILES +
|
81
|
+
EXT_FILES +
|
82
|
+
RAKE_TASKLIBS +
|
83
|
+
EXTRA_PKGFILES
|
84
|
+
|
85
|
+
RELEASE_FILES << LOCAL_RAKEFILE if LOCAL_RAKEFILE.exist?
|
86
|
+
|
87
|
+
COVERAGE_MINIMUM = ENV['COVERAGE_MINIMUM'] ? Float( ENV['COVERAGE_MINIMUM'] ) : 85.0
|
88
|
+
RCOV_EXCLUDES = 'spec,tests,/Library/Ruby,/var/lib,/usr/local/lib'
|
89
|
+
RCOV_OPTS = [
|
90
|
+
'--exclude', RCOV_EXCLUDES,
|
91
|
+
'--xrefs',
|
92
|
+
'--save',
|
93
|
+
'--callsites',
|
94
|
+
#'--aggregate', 'coverage.data' # <- doesn't work as of 0.8.1.2.0
|
95
|
+
]
|
96
|
+
|
97
|
+
|
98
|
+
# Subversion constants -- directory names for releases and tags
|
99
|
+
SVN_TRUNK_DIR = 'trunk'
|
100
|
+
SVN_RELEASES_DIR = 'releases'
|
101
|
+
SVN_BRANCHES_DIR = 'branches'
|
102
|
+
SVN_TAGS_DIR = 'tags'
|
103
|
+
|
104
|
+
SVN_DOTDIR = BASEDIR + '.svn'
|
105
|
+
SVN_ENTRIES = SVN_DOTDIR + 'entries'
|
106
|
+
|
107
|
+
|
108
|
+
### Load some task libraries that need to be loaded early
|
109
|
+
require RAKE_TASKDIR + 'helpers.rb'
|
110
|
+
require RAKE_TASKDIR + 'svn.rb'
|
111
|
+
require RAKE_TASKDIR + 'verifytask.rb'
|
112
|
+
|
113
|
+
# Define some constants that depend on the 'svn' tasklib
|
114
|
+
PKG_BUILD = get_svn_rev( BASEDIR ) || 0
|
115
|
+
SNAPSHOT_PKG_NAME = "#{PKG_FILE_NAME}.#{PKG_BUILD}"
|
116
|
+
SNAPSHOT_GEM_NAME = "#{SNAPSHOT_PKG_NAME}.gem"
|
117
|
+
|
118
|
+
# Documentation constants
|
119
|
+
RDOCDIR = DOCSDIR + 'api'
|
120
|
+
RDOC_OPTIONS = [
|
121
|
+
'-w', '4',
|
122
|
+
'-SHN',
|
123
|
+
'-i', '.',
|
124
|
+
'-m', 'README',
|
125
|
+
'-W', 'http://deveiate.org/projects/Ruby-WordNet/browser/trunk/'
|
126
|
+
]
|
127
|
+
|
128
|
+
# Release constants
|
129
|
+
SMTP_HOST = 'mail.faeriemud.org'
|
130
|
+
SMTP_PORT = 465 # SMTP + SSL
|
131
|
+
|
132
|
+
# Project constants
|
133
|
+
PROJECT_HOST = 'deveiate.org'
|
134
|
+
PROJECT_PUBDIR = "/usr/local/www/public/code"
|
135
|
+
PROJECT_DOCDIR = "#{PROJECT_PUBDIR}/#{PKG_NAME}"
|
136
|
+
PROJECT_SCPPUBURL = "#{PROJECT_HOST}:#{PROJECT_PUBDIR}"
|
137
|
+
PROJECT_SCPDOCURL = "#{PROJECT_HOST}:#{PROJECT_DOCDIR}"
|
138
|
+
|
139
|
+
# Rubyforge stuff
|
140
|
+
RUBYFORGE_GROUP = 'deveiate'
|
141
|
+
RUBYFORGE_PROJECT = 'wordnet'
|
142
|
+
|
143
|
+
# Gem dependencies: gemname => version
|
144
|
+
DEPENDENCIES = {
|
145
|
+
}
|
146
|
+
|
147
|
+
# Developer Gem dependencies: gemname => version
|
148
|
+
DEVELOPMENT_DEPENDENCIES = {
|
149
|
+
'amatch' => '>= 0.2.3',
|
150
|
+
'rake' => '>= 0.8.1',
|
151
|
+
'rcodetools' => '>= 0.7.0.0',
|
152
|
+
'rcov' => '>= 0',
|
153
|
+
'RedCloth' => '>= 4.0.3',
|
154
|
+
'rspec' => '>= 0',
|
155
|
+
'rubyforge' => '>= 0',
|
156
|
+
'termios' => '>= 0',
|
157
|
+
'text-format' => '>= 1.0.0',
|
158
|
+
'tmail' => '>= 1.2.3.1',
|
159
|
+
'ultraviolet' => '>= 0.10.2',
|
160
|
+
'libxml-ruby' => '>= 0.8.3',
|
161
|
+
}
|
162
|
+
|
163
|
+
# Non-gem requirements: packagename => version
|
164
|
+
REQUIREMENTS = {
|
165
|
+
'bdb' => '>= 0.6.5',
|
166
|
+
}
|
167
|
+
|
168
|
+
# RubyGem specification
|
169
|
+
GEMSPEC = Gem::Specification.new do |gem|
|
170
|
+
gem.name = PKG_NAME.downcase
|
171
|
+
gem.version = PKG_VERSION
|
172
|
+
|
173
|
+
gem.summary = PKG_SUMMARY
|
174
|
+
gem.description = <<-EOD
|
175
|
+
A Ruby implementation of the WordNet lexical dictionary an online lexical reference system whose
|
176
|
+
design is inspired by current psycholinguistic theories of human lexical memory.
|
177
|
+
EOD
|
178
|
+
|
179
|
+
gem.authors = 'Michael Granger'
|
180
|
+
gem.email = 'ged@FaerieMUD.org'
|
181
|
+
gem.homepage = 'http://deveiate.org/projects/Ruby-WordNet'
|
182
|
+
gem.rubyforge_project = RUBYFORGE_PROJECT
|
183
|
+
|
184
|
+
gem.has_rdoc = true
|
185
|
+
gem.rdoc_options = RDOC_OPTIONS
|
186
|
+
|
187
|
+
gem.bindir = BINDIR.relative_path_from(BASEDIR).to_s
|
188
|
+
|
189
|
+
|
190
|
+
gem.files = RELEASE_FILES.
|
191
|
+
collect {|f| f.relative_path_from(BASEDIR).to_s }
|
192
|
+
gem.test_files = SPEC_FILES.
|
193
|
+
collect {|f| f.relative_path_from(BASEDIR).to_s }
|
194
|
+
|
195
|
+
DEPENDENCIES.each do |name, version|
|
196
|
+
version = '>= 0' if version.length.zero?
|
197
|
+
gem.add_runtime_dependency( name, version )
|
198
|
+
end
|
199
|
+
|
200
|
+
DEVELOPMENT_DEPENDENCIES.each do |name, version|
|
201
|
+
version = '>= 0' if version.length.zero?
|
202
|
+
gem.add_development_dependency( name, version )
|
203
|
+
end
|
204
|
+
|
205
|
+
REQUIREMENTS.each do |name, version|
|
206
|
+
gem.requirements << [ name, version ].compact.join(' ')
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
# Manual-generation config
|
211
|
+
MANUALDIR = DOCSDIR + 'manual'
|
212
|
+
|
213
|
+
$trace = Rake.application.options.trace ? true : false
|
214
|
+
$dryrun = Rake.application.options.dryrun ? true : false
|
215
|
+
|
216
|
+
|
217
|
+
# Load any remaining task libraries
|
218
|
+
RAKE_TASKLIBS.each do |tasklib|
|
219
|
+
next if tasklib =~ %r{/(helpers|svn|verifytask)\.rb$}
|
220
|
+
begin
|
221
|
+
require tasklib
|
222
|
+
rescue ScriptError => err
|
223
|
+
fail "Task library '%s' failed to load: %s: %s" %
|
224
|
+
[ tasklib, err.class.name, err.message ]
|
225
|
+
trace "Backtrace: \n " + err.backtrace.join( "\n " )
|
226
|
+
rescue => err
|
227
|
+
log "Task library '%s' failed to load: %s: %s. Some tasks may not be available." %
|
228
|
+
[ tasklib, err.class.name, err.message ]
|
229
|
+
trace "Backtrace: \n " + err.backtrace.join( "\n " )
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
# Load any project-specific rules defined in 'Rakefile.local' if it exists
|
234
|
+
import LOCAL_RAKEFILE if LOCAL_RAKEFILE.exist?
|
235
|
+
|
236
|
+
|
237
|
+
#####################################################################
|
238
|
+
### T A S K S
|
239
|
+
#####################################################################
|
240
|
+
|
241
|
+
### Default task
|
242
|
+
task :default => [:clean, :local, :spec, :rdoc, :package]
|
243
|
+
|
244
|
+
### Task the local Rakefile can append to -- no-op by default
|
245
|
+
task :local
|
246
|
+
|
247
|
+
|
248
|
+
### Task: clean
|
249
|
+
CLEAN.include 'coverage'
|
250
|
+
CLOBBER.include 'artifacts', 'coverage.info', PKGDIR
|
251
|
+
|
252
|
+
# Target to hinge on ChangeLog updates
|
253
|
+
file SVN_ENTRIES
|
254
|
+
|
255
|
+
### Task: changelog
|
256
|
+
file 'ChangeLog' => SVN_ENTRIES.to_s do |task|
|
257
|
+
log "Updating #{task.name}"
|
258
|
+
|
259
|
+
changelog = make_svn_changelog()
|
260
|
+
File.open( task.name, 'w' ) do |fh|
|
261
|
+
fh.print( changelog )
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
265
|
+
|
266
|
+
### Task: cruise (Cruisecontrol task)
|
267
|
+
desc "Cruisecontrol build"
|
268
|
+
task :cruise => [:clean, :spec, :package] do |task|
|
269
|
+
raise "Artifacts dir not set." if ARTIFACTS_DIR.to_s.empty?
|
270
|
+
artifact_dir = ARTIFACTS_DIR.cleanpath
|
271
|
+
artifact_dir.mkpath
|
272
|
+
|
273
|
+
coverage = BASEDIR + 'coverage'
|
274
|
+
if coverage.exist? && coverage.directory?
|
275
|
+
$stderr.puts "Copying coverage stats..."
|
276
|
+
FileUtils.cp_r( 'coverage', artifact_dir )
|
277
|
+
end
|
278
|
+
|
279
|
+
$stderr.puts "Copying packages..."
|
280
|
+
FileUtils.cp_r( FileList['pkg/*'].to_a, artifact_dir )
|
281
|
+
end
|
282
|
+
|
283
|
+
|
284
|
+
desc "Update the build system to the latest version"
|
285
|
+
task :update_build do
|
286
|
+
log "Updating the build system"
|
287
|
+
sh 'svn', 'up', RAKE_TASKDIR
|
288
|
+
log "Updating the Rakefile"
|
289
|
+
sh 'rake', '-f', RAKE_TASKDIR + 'Metarakefile'
|
290
|
+
end
|
291
|
+
|
data/Rakefile.local
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
#!rake
|
2
|
+
#
|
3
|
+
# Project-local tasks for Ruby-WordNet
|
4
|
+
# $Id: Rakefile.local 95 2008-09-05 18:49:25Z deveiant $
|
5
|
+
#
|
6
|
+
# Authors:
|
7
|
+
# * Michael Granger <ged@FaerieMUD.org>
|
8
|
+
#
|
9
|
+
|
10
|
+
unless defined?( BASEDIR )
|
11
|
+
fail "This is meant to be loaded from the main Rakefile, not run directly."
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
require 'wordnet'
|
16
|
+
require 'rake'
|
17
|
+
|
18
|
+
CONVERT_UTIL = BASEDIR + 'convertdb.rb'
|
19
|
+
DATA_BUILD_DIR = BASEDIR + File.basename( WordNet::Lexicon::DEFAULT_DB_ENV )
|
20
|
+
DATA_DATABASE_FILE = DATA_BUILD_DIR + 'data'
|
21
|
+
|
22
|
+
|
23
|
+
### Tasks
|
24
|
+
|
25
|
+
# Add 'convert' to the default task, and the testing tasks
|
26
|
+
Rake::Task[:default].prerequisites << :convert
|
27
|
+
Rake::Task[:spec].prerequisites << :convert
|
28
|
+
|
29
|
+
### Task: convert
|
30
|
+
desc "Convert WordNet dict files to a database"
|
31
|
+
task :convert => DATA_DATABASE_FILE
|
32
|
+
|
33
|
+
# Conversion utility
|
34
|
+
file CONVERT_UTIL.to_s
|
35
|
+
|
36
|
+
# Build directory for the database files
|
37
|
+
directory DATA_BUILD_DIR.to_s
|
38
|
+
CLOBBER.include( DATA_BUILD_DIR.to_s )
|
39
|
+
|
40
|
+
# BerkeleyDB main database file
|
41
|
+
file DATA_DATABASE_FILE.to_s
|
42
|
+
task DATA_DATABASE_FILE.to_s => CONVERT_UTIL do
|
43
|
+
load CONVERT_UTIL
|
44
|
+
WordNetConverter.new( DATA_BUILD_DIR ).convertdb
|
45
|
+
end
|
46
|
+
|