Changeset 277

Show
Ignore:
Timestamp:
05/31/08 11:52:17 (6 months ago)
Author:
ged
Message:
  • Updated the build system substantially, including stuff from both the ThingFish? and Arrow projects.
  • Updated keywords on everything.
  • Reorganized the specs to match the convention of spec <-> lib hierarchies matching.
  • Added the loadpath library
  • Started refactor of bogswiddle to use Sequel instead of ActiveRecord?
  • Merged improvements from Arrow's logging system back into the FaerieMUD logger.
  • Updated documentation in FaerieMUD::SimpleVerb?
  • Refactored some of the early NLG code out into FaerieMUD::Linguistics
  • Fixed a bug in the recursive-containment detection code that missed containment more than two levels deep.
  • Corrected FaerieMUD::Item description
  • Added a VERSION constant to the toplevel FaerieMUD module.
Location:
trunk
Files:
31 added
31 removed
98 modified
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/FaerieMUD.tmproj

    r270 r277  
    11<?xml version="1.0" encoding="UTF-8"?> 
    2 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
     2<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
    33<plist version="1.0"> 
    44<dict> 
    55    <key>currentDocument</key> 
    6     <string>spec/entity_spec.rb</string> 
     6    <string>spec/fm/logger_spec.rb</string> 
    77    <key>documents</key> 
    88    <array> 
     
    2222    <key>metaData</key> 
    2323    <dict> 
    24         <key>lib/fm/character.rb</key> 
    25         <dict> 
    26             <key>caret</key> 
    27             <dict> 
    28                 <key>column</key> 
    29                 <integer>48</integer> 
    30                 <key>line</key> 
    31                 <integer>56</integer> 
    32             </dict> 
    33             <key>firstVisibleColumn</key> 
    34             <integer>0</integer> 
    35             <key>firstVisibleLine</key> 
    36             <integer>86</integer> 
    37         </dict> 
    38         <key>lib/fm/composedobject.rb</key> 
    39         <dict> 
    40             <key>caret</key> 
    41             <dict> 
    42                 <key>column</key> 
    43                 <integer>0</integer> 
    44                 <key>line</key> 
    45                 <integer>269</integer> 
    46             </dict> 
    47             <key>firstVisibleColumn</key> 
    48             <integer>0</integer> 
    49             <key>firstVisibleLine</key> 
    50             <integer>243</integer> 
    51         </dict> 
    52         <key>spec/composedobject_spec.rb</key> 
    53         <dict> 
    54             <key>caret</key> 
    55             <dict> 
    56                 <key>column</key> 
    57                 <integer>0</integer> 
    58                 <key>line</key> 
    59                 <integer>18</integer> 
     24        <key>lib/fm.rb</key> 
     25        <dict> 
     26            <key>caret</key> 
     27            <dict> 
     28                <key>column</key> 
     29                <integer>0</integer> 
     30                <key>line</key> 
     31                <integer>34</integer> 
    6032            </dict> 
    6133            <key>columnSelection</key> 
     
    7042                <integer>0</integer> 
    7143                <key>line</key> 
    72                 <integer>0</integer> 
     44                <integer>31</integer> 
    7345            </dict> 
    7446            <key>selectTo</key> 
     
    7749                <integer>0</integer> 
    7850                <key>line</key> 
    79                 <integer>18</integer> 
    80             </dict> 
    81         </dict> 
    82         <key>spec/entity_spec.rb</key> 
    83         <dict> 
    84             <key>caret</key> 
    85             <dict> 
    86                 <key>column</key> 
    87                 <integer>0</integer> 
    88                 <key>line</key> 
    89                 <integer>1</integer> 
    90             </dict> 
    91             <key>firstVisibleColumn</key> 
    92             <integer>0</integer> 
    93             <key>firstVisibleLine</key> 
    94             <integer>0</integer> 
     51                <integer>34</integer> 
     52            </dict> 
     53        </dict> 
     54        <key>lib/fm/character.rb</key> 
     55        <dict> 
     56            <key>caret</key> 
     57            <dict> 
     58                <key>column</key> 
     59                <integer>48</integer> 
     60                <key>line</key> 
     61                <integer>56</integer> 
     62            </dict> 
     63            <key>firstVisibleColumn</key> 
     64            <integer>0</integer> 
     65            <key>firstVisibleLine</key> 
     66            <integer>86</integer> 
     67        </dict> 
     68        <key>lib/fm/utils.rb</key> 
     69        <dict> 
     70            <key>caret</key> 
     71            <dict> 
     72                <key>column</key> 
     73                <integer>0</integer> 
     74                <key>line</key> 
     75                <integer>0</integer> 
     76            </dict> 
     77            <key>firstVisibleColumn</key> 
     78            <integer>0</integer> 
     79            <key>firstVisibleLine</key> 
     80            <integer>0</integer> 
     81        </dict> 
     82        <key>lib/fm/verbs/simple.rb</key> 
     83        <dict> 
     84            <key>caret</key> 
     85            <dict> 
     86                <key>column</key> 
     87                <integer>4</integer> 
     88                <key>line</key> 
     89                <integer>16</integer> 
     90            </dict> 
     91            <key>firstVisibleColumn</key> 
     92            <integer>0</integer> 
     93            <key>firstVisibleLine</key> 
     94            <integer>0</integer> 
     95        </dict> 
     96        <key>spec/fm/logger.tests.rb</key> 
     97        <dict> 
     98            <key>caret</key> 
     99            <dict> 
     100                <key>column</key> 
     101                <integer>0</integer> 
     102                <key>line</key> 
     103                <integer>0</integer> 
     104            </dict> 
     105            <key>firstVisibleColumn</key> 
     106            <integer>0</integer> 
     107            <key>firstVisibleLine</key> 
     108            <integer>0</integer> 
     109        </dict> 
     110        <key>spec/fm/logger_spec.rb</key> 
     111        <dict> 
     112            <key>caret</key> 
     113            <dict> 
     114                <key>column</key> 
     115                <integer>14</integer> 
     116                <key>line</key> 
     117                <integer>53</integer> 
     118            </dict> 
     119            <key>firstVisibleColumn</key> 
     120            <integer>0</integer> 
     121            <key>firstVisibleLine</key> 
     122            <integer>43</integer> 
     123        </dict> 
     124        <key>tools/web/fmobjinspector.cgi</key> 
     125        <dict> 
     126            <key>caret</key> 
     127            <dict> 
     128                <key>column</key> 
     129                <integer>0</integer> 
     130                <key>line</key> 
     131                <integer>0</integer> 
     132            </dict> 
     133            <key>firstVisibleColumn</key> 
     134            <integer>0</integer> 
     135            <key>firstVisibleLine</key> 
     136            <integer>72</integer> 
    95137        </dict> 
    96138    </dict> 
    97139    <key>openDocuments</key> 
    98140    <array> 
    99         <string>lib/fm/composedobject.rb</string> 
    100         <string>spec/composedobject_spec.rb</string> 
    101         <string>spec/entity_spec.rb</string> 
    102         <string>lib/fm/character.rb</string> 
     141        <string>lib/fm.rb</string> 
     142        <string>spec/fm/logger_spec.rb</string> 
     143        <string>spec/fm/logger.tests.rb</string> 
    103144    </array> 
    104145    <key>showFileHierarchyDrawer</key> 
    105     <true/> 
     146    <false/> 
     147    <key>treeState</key> 
     148    <dict> 
     149        <key>FaerieMUD</key> 
     150        <dict> 
     151            <key>isExpanded</key> 
     152            <true/> 
     153            <key>subItems</key> 
     154            <dict> 
     155                <key>acceptance</key> 
     156                <dict> 
     157                    <key>isExpanded</key> 
     158                    <true/> 
     159                    <key>subItems</key> 
     160                    <dict/> 
     161                </dict> 
     162                <key>bin</key> 
     163                <dict> 
     164                    <key>isExpanded</key> 
     165                    <true/> 
     166                    <key>subItems</key> 
     167                    <dict/> 
     168                </dict> 
     169                <key>lib</key> 
     170                <dict> 
     171                    <key>isExpanded</key> 
     172                    <true/> 
     173                    <key>subItems</key> 
     174                    <dict/> 
     175                </dict> 
     176                <key>spec</key> 
     177                <dict> 
     178                    <key>isExpanded</key> 
     179                    <true/> 
     180                    <key>subItems</key> 
     181                    <dict> 
     182                        <key>fm</key> 
     183                        <dict> 
     184                            <key>isExpanded</key> 
     185                            <true/> 
     186                            <key>subItems</key> 
     187                            <dict/> 
     188                        </dict> 
     189                        <key>lib</key> 
     190                        <dict> 
     191                            <key>isExpanded</key> 
     192                            <true/> 
     193                            <key>subItems</key> 
     194                            <dict/> 
     195                        </dict> 
     196                    </dict> 
     197                </dict> 
     198            </dict> 
     199        </dict> 
     200    </dict> 
    106201    <key>windowFrame</key> 
    107     <string>{{61, 6}, {860, 1022}}</string> 
     202    <string>{{662, 68}, {1242, 1510}}</string> 
    108203</dict> 
    109204</plist> 
  • trunk/Rakefile

    r276 r277  
     1#!rake 
     2# 
    13# FaerieMUD rakefile 
    2 #  
    3 # Based on the rakefiles of a long list of projects, 
    4 # including plist, Gruff, Rake, Linen, ThingFish, and 
    5 # others. 
    6 # 
    7 # Copyright (c) 2007 The FaerieMUD Consortium 
    8 # 
    9 # Mistakes: 
     4# 
     5# Originally based on Arrow's Rakefile, which in turn was based on Ben Bleything's  
     6# Rakefile for Linen 
     7# 
     8# Copyright (c) 2007, 2008 The FaerieMUD Consortium 
     9# 
     10# Authors: 
    1011#  * Michael Granger <ged@FaerieMUD.org> 
    11 #  * Ben Bleything <ben@bleything.net> 
     12#  * Jeremiah Jordan <phaedrus@FaerieMUD.org> 
    1213# 
    1314 
     
    1516    require 'pathname' 
    1617    basedir = Pathname.new( __FILE__ ).dirname 
    17     libdir = basedir + "lib" 
    18      
     18 
     19    libdir = basedir + 'lib' 
     20    docsdir = basedir + 'docs' 
     21 
    1922    $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s ) 
     23    $LOAD_PATH.unshift( docsdir.to_s ) unless $LOAD_PATH.include?( docsdir.to_s ) 
    2024} 
    21 require 'fm' 
    22  
     25 
     26 
     27require 'rbconfig' 
    2328require 'rubygems' 
    24 require 'fileutils' 
    25  
    2629require 'rake' 
    27 require 'rake/packagetask' 
    28 require 'rake/gempackagetask' 
    29 require 'rake/rdoctask' 
    30  
    31 require 'spec/rake/spectask' 
    32 require 'spec/rake/verify_rcov' 
    33  
    34 TEXT_FILES = %w( Rakefile README MANIFEST ) 
    35 SPEC_FILES = Dir.glob( 'spec/*_spec.rb'  ) 
    36 LIB_FILES  = Dir.glob( 'lib/**/*'         ) 
    37 BIN_FILES  = Dir.glob( 'bin/*'            ) 
    38  
    39 RELEASE_FILES = TEXT_FILES + 
    40                 SPEC_FILES + 
    41                 BIN_FILES  + 
    42                 LIB_FILES 
    43  
    44 task :default  => :spec 
    45  
    46 ########################### 
    47 ### DOCUMENTATION TASKS ### 
    48 ########################### 
    49  
    50 # Task: rdoc 
    51 Rake::RDocTask.new do |rdoc| 
    52     rdoc.rdoc_dir = 'doc' 
    53     rdoc.title    = "FaerieMUD" 
    54     rdoc.options << '-SNmREADME' 
    55     rdoc.rdoc_files.include TEXT_FILES 
    56     rdoc.rdoc_files.include LIB_FILES 
    57 end 
    58  
    59  
    60 ########################### 
    61 ###    TESTING TASKS    ### 
    62 ########################### 
    63  
    64 desc "Run specs outputting to STDOUT" 
    65 Spec::Rake::SpecTask.new( :spec ) do |task| 
    66     task.ruby_opts << '-rubygems' 
    67     task.libs << 'lib' 
    68     task.spec_files = SPEC_FILES 
    69     task.spec_opts = ['-f s', '-r fm', '-c'] 
    70 end 
    71  
    72 ### Task: spec 
    73 namespace :spec do 
    74     desc "Generate plaintext output" 
    75     Spec::Rake::SpecTask.new( :text ) do |task| 
    76         task.ruby_opts << '-rubygems' 
    77         task.libs << 'lib' 
    78         task.spec_files = SPEC_FILES 
    79         task.spec_opts = ['-f s', '-r fm'] 
    80     end 
    81  
    82     desc "Generate HTML output for a spec run" 
    83     Spec::Rake::SpecTask.new( :html ) do |task| 
    84         task.ruby_opts << '-rubygems' 
    85         task.libs << 'lib' 
    86         task.spec_files = SPEC_FILES 
    87         task.spec_opts = ['-f h', '-r fm', '-c'] 
    88     end 
    89  
    90     task :autotest do 
    91         require 'rspec_autotest' 
    92          
    93         ra = RspecAutotest.new 
    94         ra.spec_directory = 'specs' 
    95          
    96         ra.run 
    97     end 
    98 end 
    99  
    100  
    101 ### Task: rcov 
    102 desc "Check coverage" 
    103 Spec::Rake::SpecTask.new( :coverage ) do |task| 
    104     task.libs << 'lib' 
    105     task.spec_files = SPEC_FILES 
    106     task.rcov = true 
    107 end 
    108  
    109 ### Task: verify_rcov 
    110 desc "Build coverage statistics" 
    111 RCov::VerifyTask.new( :verify_coverage => :coverage ) do |task| 
    112     task.threshold = 85.0 
    113 end 
    114  
     30require 'pathname' 
     31 
     32begin 
     33    require 'fm' 
     34rescue LoadError => err 
     35    $stderr.puts "FaerieMUD class library didn't load cleanly: #{err.message}" 
     36end 
     37 
     38include Config 
     39 
     40 
     41PKG_NAME      = 'faeriemud' 
     42PKG_VERSION   = FaerieMUD::VERSION 
     43PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}" 
     44 
     45PKG_SUMMARY   = "FaerieMUD - A multi-user online role-playing game" 
     46 
     47PKG_DESCRIPTION = <<-EOD 
     48FaerieMUD is a not-for-profit effort to create a new multi-user online  
     49role-playing game, one with a high degree of immersiveness and believability,  
     50depth of character, and above all, an emphasis on Story. 
     51EOD 
     52 
     53RELEASE_NAME  = "REL #{PKG_VERSION}" 
     54 
     55BASEDIR       = Pathname.new( __FILE__ ).dirname 
     56DOCSDIR       = BASEDIR + 'docs'