<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>History.txt</filename>
    </added>
    <added>
      <filename>Manifest.txt</filename>
    </added>
    <added>
      <filename>README.txt</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,36 +1,57 @@
-$:.unshift('lib')
+# -*- ruby -*-
+
 require 'rubygems'
-require 'rake/gempackagetask'
-require 'rake/contrib/rubyforgepublisher'
-require 'rake/clean'
-require 'rake/rdoctask'
-require 'rake/testtask'
-require 'spec/version'
-dir = File.dirname(__FILE__)
+require 'hoe'
+require './lib/spec'
+require './lib/spec/rake/spectask'
+
+Hoe.new('rspec', Spec::VERSION::STRING) do |p|
+  p.summary = Spec::VERSION::DESCRIPTION
+  p.rubyforge_name = 'rspec'
+  p.developer('RSpec Development Team', 'dev@rspec.info')
+end
 
-# Some of the tasks are in separate files since they are also part of the website documentation
-load File.dirname(__FILE__) + '/rake_tasks/examples.rake'
-load File.dirname(__FILE__) + '/rake_tasks/examples_with_rcov.rake'
-load File.dirname(__FILE__) + '/rake_tasks/failing_examples_with_html.rake'
-load File.dirname(__FILE__) + '/rake_tasks/verify_rcov.rake'
+['audit','test','test_deps','default'].each do |task|
+  Rake.application.instance_variable_get('@tasks').delete(task)
+end
 
-PKG_NAME = &quot;rspec&quot;
-PKG_VERSION   = Spec::VERSION::STRING
-PKG_FILE_NAME = &quot;#{PKG_NAME}-#{PKG_VERSION}&quot;
-PKG_FILES = FileList[
-  '[A-Z]*',
-  'lib/**/*.rb', 
-  'spec/**/*',
-  'examples/**/*',
-  'failing_examples/**/*',
-  'plugins/**/*',
-  'stories/**/*',
-  'rake_tasks/**/*'
-]
+task :default =&gt; ['spec']
 
-task :default =&gt; [:verify_rcov]
-task :verify_rcov =&gt; [:spec, :stories]
+# vim: syntax=Ruby
 
+# $:.unshift('lib')
+# require 'rubygems'
+# require 'rake/gempackagetask'
+# require 'rake/contrib/rubyforgepublisher'
+# require 'rake/clean'
+# require 'rake/rdoctask'
+# require 'rake/testtask'
+# require 'spec/version'
+# dir = File.dirname(__FILE__)
+# 
+# # Some of the tasks are in separate files since they are also part of the website documentation
+# load File.dirname(__FILE__) + '/rake_tasks/examples.rake'
+# load File.dirname(__FILE__) + '/rake_tasks/examples_with_rcov.rake'
+# load File.dirname(__FILE__) + '/rake_tasks/failing_examples_with_html.rake'
+# load File.dirname(__FILE__) + '/rake_tasks/verify_rcov.rake'
+# 
+# PKG_NAME = &quot;rspec&quot;
+# PKG_VERSION   = Spec::VERSION::STRING
+# PKG_FILE_NAME = &quot;#{PKG_NAME}-#{PKG_VERSION}&quot;
+# PKG_FILES = FileList[
+#   '[A-Z]*',
+#   'lib/**/*.rb', 
+#   'spec/**/*',
+#   'examples/**/*',
+#   'failing_examples/**/*',
+#   'plugins/**/*',
+#   'stories/**/*',
+#   'rake_tasks/**/*'
+# ]
+# 
+# task :default =&gt; [:verify_rcov]
+# task :verify_rcov =&gt; [:spec, :stories]
+# 
 desc &quot;Run all specs&quot;
 Spec::Rake::SpecTask.new do |t|
   t.spec_files = FileList['spec/**/*_spec.rb']
@@ -41,222 +62,222 @@ Spec::Rake::SpecTask.new do |t|
     t.rcov_opts = ['--exclude', 'lib/spec.rb,lib/spec/runner.rb,spec\/spec,bin\/spec,examples,\/var\/lib\/gems,\/Library\/Ruby,\.autotest']
   end
 end
-
-desc &quot;Run all stories&quot;
-task :stories do
-  html = 'story_server/prototype/rspec_stories.html'
-  ruby &quot;stories/all.rb --colour --format plain --format html:#{html}&quot;
-  unless IO.read(html) =~ /&lt;span class=&quot;param&quot;&gt;/m
-    raise 'highlighted parameters are broken in story HTML'
-  end
-end
-
-desc &quot;Run all specs and store html output in doc/output/report.html&quot;
-Spec::Rake::SpecTask.new('spec_html') do |t|
-  t.spec_files = FileList['spec/**/*_spec.rb']
-  t.spec_opts = ['--format html:../../../../doc/output/report.html', '--format progress','--backtrace']
-end
-
-desc &quot;Run all failing examples&quot;
-Spec::Rake::SpecTask.new('failing_examples') do |t|
-  t.spec_files = FileList['failing_examples/**/*_spec.rb']
-end
-
-desc 'Generate RDoc'
-rd = Rake::RDocTask.new do |rdoc|
-  rdoc.rdoc_dir = '../doc/output/rdoc'
-  rdoc.options &lt;&lt; '--title' &lt;&lt; 'RSpec' &lt;&lt; '--line-numbers' &lt;&lt; '--inline-source' &lt;&lt; '--main' &lt;&lt; 'README'
-  rdoc.rdoc_files.include('README', 'CHANGES', 'MIT-LICENSE', 'lib/**/*.rb')
-end
-
-spec = Gem::Specification.new do |s|
-  s.name = PKG_NAME
-  s.version = PKG_VERSION
-  s.summary = Spec::VERSION::DESCRIPTION
-  s.description = &lt;&lt;-EOF
-    RSpec is a behaviour driven development (BDD) framework for Ruby.  RSpec was
-    created in response to Dave Astels' article _A New Look at Test Driven Development_
-    which can be read at: http://daveastels.com/index.php?p=5  RSpec is intended to
-    provide the features discussed in Dave's article.
-  EOF
-
-  s.files = PKG_FILES.to_a
-  s.require_path = 'lib'
-
-  s.has_rdoc = true
-  s.rdoc_options = rd.options
-  s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$|^EXAMPLES.rd$/ }.to_a
-
-  s.bindir = 'bin'
-  s.executables = ['spec', 'spec_translator', 'autospec']
-  s.default_executable = 'spec'
-  s.author = &quot;RSpec Development Team&quot;
-  s.email = &quot;rspec-devel@rubyforge.org&quot;
-  s.homepage = &quot;http://rspec.rubyforge.org&quot;
-  s.platform = Gem::Platform::RUBY
-  s.rubyforge_project = &quot;rspec&quot;
-end
-
-Rake::GemPackageTask.new(spec) do |pkg|
-  pkg.need_zip = true
-  pkg.need_tar = true
-end
-
-def egrep(pattern)
-  Dir['**/*.rb'].each do |fn|
-    count = 0
-    open(fn) do |f|
-      while line = f.gets
-        count += 1
-        if line =~ pattern
-          puts &quot;#{fn}:#{count}:#{line}&quot;
-        end
-      end
-    end
-  end
-end
-
-desc &quot;Look for TODO and FIXME tags in the code&quot;
-task :todo do
-  egrep /(FIXME|TODO|TBD)/
-end
-
-task :release =&gt; [:verify_committed, :verify_user, :spec, :publish_packages, :tag, :publish_news]
-
-desc &quot;Verifies that there is no uncommitted code&quot;
-task :verify_committed do
-  IO.popen('git status') do |io|
-    io.each_line do |line|
-      raise &quot;\n!!! Do a git commit first !!!\n\n&quot; if line =~ /^#\s*modified:/
-    end
-  end
-end
-
-desc &quot;Creates a tag in svn&quot;
-task :tag do
-  # from = `svn info #{File.dirname(__FILE__)}`.match(/URL: (.*)\/rspec/n)[1]
-  # to = from.gsub(/trunk/, &quot;tags/#{Spec::VERSION::TAG}&quot;)
-  # current = from.gsub(/trunk/, &quot;tags/CURRENT&quot;)
-  # 
-  # puts &quot;Creating tag in SVN&quot;
-  # tag_cmd = &quot;svn cp #{from} #{to} -m \&quot;Tag release #{Spec::VERSION::FULL_VERSION}\&quot;&quot;
-  # `#{tag_cmd}` ; raise &quot;ERROR: #{tag_cmd}&quot; unless $? == 0
-  # 
-  # puts &quot;Removing CURRENT&quot;
-  # remove_current_cmd = &quot;svn rm #{current} -m \&quot;Remove tags/CURRENT\&quot;&quot;
-  # `#{remove_current_cmd}` ; raise &quot;ERROR: #{remove_current_cmd}&quot; unless $? == 0
-  # 
-  # puts &quot;Re-Creating CURRENT&quot;
-  # create_current_cmd = &quot;svn cp #{to} #{current} -m \&quot;Copy #{Spec::VERSION::TAG} to tags/CURRENT\&quot;&quot;
-  # `#{create_current_cmd}` ; &quot;ERROR: #{create_current_cmd}&quot; unless $? == 0
-end
-
-task :verify_user do
-  raise &quot;RUBYFORGE_USER environment variable not set!&quot; unless ENV['RUBYFORGE_USER']
-end
-
-desc &quot;Upload Website to RubyForge&quot;
-task :publish_website =&gt; [:verify_user, :website] do
-  unless Spec::VERSION::RELEASE_CANDIDATE
-    publisher = Rake::SshDirPublisher.new(
-      &quot;rspec-website@rubyforge.org&quot;,
-      &quot;/var/www/gforge-projects/#{PKG_NAME}&quot;,
-      &quot;../doc/output&quot;
-    )
-    publisher.upload
-  else
-    puts &quot;** Not publishing packages to RubyForge - this is a prerelease&quot;
-  end
-end
-
-desc &quot;Upload Website archive to RubyForge&quot;
-task :archive_website =&gt; [:verify_user, :website] do
-  publisher = Rake::SshDirPublisher.new(
-    &quot;rspec-website@rubyforge.org&quot;,
-    &quot;/var/www/gforge-projects/#{PKG_NAME}/#{Spec::VERSION::TAG}&quot;,
-    &quot;../doc/output&quot;
-  )
-  publisher.upload
-end
-
-desc &quot;Package the Rails plugin&quot;
-task :package_rspec_on_rails do
-  mkdir 'pkg' rescue nil
-  rm_rf &quot;pkg/rspec-rails-#{PKG_VERSION}&quot; rescue nil
-  `git clone ../rspec-rails pkg/rspec-rails-#{PKG_VERSION}`
-  rm_rf &quot;pkg/rspec-rails-#{PKG_VERSION}/.git&quot;
-  Dir.chdir 'pkg' do
-    `tar cvzf rspec-rails-#{PKG_VERSION}.tgz rspec-rails-#{PKG_VERSION}`
-  end
-end
-task :pkg =&gt; :package_rspec_on_rails
-
-desc &quot;Package the RSpec.tmbundle&quot;
-task :package_tmbundle do
-  mkdir 'pkg' rescue nil
-  rm_rf &quot;pkg/RSpec-#{PKG_VERSION}.tmbundle&quot; rescue nil
-  `git clone ../../../../RSpec.tmbundle pkg/RSpec-#{PKG_VERSION}.tmbundle`
-  rm_rf &quot;pkg/RSpec-#{PKG_VERSION}.tmbundle/.git&quot;
-  Dir.chdir 'pkg' do
-    `tar cvzf RSpec-#{PKG_VERSION}.tmbundle.tgz RSpec-#{PKG_VERSION}.tmbundle`
-  end
-end
-task :pkg =&gt; :package_tmbundle
-
-desc &quot;Publish gem+tgz+zip on RubyForge. You must make sure lib/version.rb is aligned with the CHANGELOG file&quot;
-task :publish_packages =&gt; [:verify_user, :package, :pkg] do
-  release_files = FileList[
-    &quot;pkg/#{PKG_FILE_NAME}.gem&quot;,
-    &quot;pkg/#{PKG_FILE_NAME}.tgz&quot;,
-    &quot;pkg/rspec-rails-#{PKG_VERSION}.tgz&quot;,
-    &quot;pkg/#{PKG_FILE_NAME}.zip&quot;,
-    &quot;pkg/RSpec-#{PKG_VERSION}.tmbundle.tgz&quot;
-  ]
-  unless Spec::VERSION::RELEASE_CANDIDATE
-    require 'meta_project'
-    require 'rake/contrib/xforge'
-
-    Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new(PKG_NAME)) do |xf|
-      # Never hardcode user name and password in the Rakefile!
-      xf.user_name = ENV['RUBYFORGE_USER']
-      xf.files = release_files.to_a
-      xf.release_name = &quot;RSpec #{PKG_VERSION}&quot;
-    end
-  else
-    puts &quot;SINCE THIS IS A PRERELEASE, FILES ARE UPLOADED WITH SSH, NOT TO THE RUBYFORGE FILE SECTION&quot;
-    puts &quot;YOU MUST TYPE THE PASSWORD #{release_files.length} TIMES...&quot;
-
-    host = &quot;rspec-website@rubyforge.org&quot;
-    remote_dir = &quot;/var/www/gforge-projects/#{PKG_NAME}&quot;
-
-    publisher = Rake::SshFilePublisher.new(
-      host,
-      remote_dir,
-      File.dirname(__FILE__),
-      *release_files
-    )
-    publisher.upload
-
-    puts &quot;UPLADED THE FOLLOWING FILES:&quot;
-    release_files.each do |file|
-      name = file.match(/pkg\/(.*)/)[1]
-      puts &quot;* http://rspec.rubyforge.org/#{name}&quot;
-    end
-
-    puts &quot;They are not linked to anywhere, so don't forget to tell people!&quot;
-  end
-end
-
-desc &quot;Publish news on RubyForge&quot;
-task :publish_news =&gt; [:verify_user] do
-  unless Spec::VERSION::RELEASE_CANDIDATE
-    require 'meta_project'
-    require 'rake/contrib/xforge'
-    Rake::XForge::NewsPublisher.new(MetaProject::Project::XForge::RubyForge.new(PKG_NAME)) do |news|
-      # Never hardcode user name and password in the Rakefile!
-      news.user_name = ENV['RUBYFORGE_USER']
-    end
-  else
-    puts &quot;** Not publishing news to RubyForge - this is a prerelease&quot;
-  end
-end
\ No newline at end of file
+# 
+# desc &quot;Run all stories&quot;
+# task :stories do
+#   html = 'story_server/prototype/rspec_stories.html'
+#   ruby &quot;stories/all.rb --colour --format plain --format html:#{html}&quot;
+#   unless IO.read(html) =~ /&lt;span class=&quot;param&quot;&gt;/m
+#     raise 'highlighted parameters are broken in story HTML'
+#   end
+# end
+# 
+# desc &quot;Run all specs and store html output in doc/output/report.html&quot;
+# Spec::Rake::SpecTask.new('spec_html') do |t|
+#   t.spec_files = FileList['spec/**/*_spec.rb']
+#   t.spec_opts = ['--format html:../../../../doc/output/report.html', '--format progress','--backtrace']
+# end
+# 
+# desc &quot;Run all failing examples&quot;
+# Spec::Rake::SpecTask.new('failing_examples') do |t|
+#   t.spec_files = FileList['failing_examples/**/*_spec.rb']
+# end
+# 
+# desc 'Generate RDoc'
+# rd = Rake::RDocTask.new do |rdoc|
+#   rdoc.rdoc_dir = '../doc/output/rdoc'
+#   rdoc.options &lt;&lt; '--title' &lt;&lt; 'RSpec' &lt;&lt; '--line-numbers' &lt;&lt; '--inline-source' &lt;&lt; '--main' &lt;&lt; 'README'
+#   rdoc.rdoc_files.include('README', 'CHANGES', 'MIT-LICENSE', 'lib/**/*.rb')
+# end
+# 
+# spec = Gem::Specification.new do |s|
+#   s.name = PKG_NAME
+#   s.version = PKG_VERSION
+#   s.summary = Spec::VERSION::DESCRIPTION
+#   s.description = &lt;&lt;-EOF
+#     RSpec is a behaviour driven development (BDD) framework for Ruby.  RSpec was
+#     created in response to Dave Astels' article _A New Look at Test Driven Development_
+#     which can be read at: http://daveastels.com/index.php?p=5  RSpec is intended to
+#     provide the features discussed in Dave's article.
+#   EOF
+# 
+#   s.files = PKG_FILES.to_a
+#   s.require_path = 'lib'
+# 
+#   s.has_rdoc = true
+#   s.rdoc_options = rd.options
+#   s.extra_rdoc_files = rd.rdoc_files.reject { |fn| fn =~ /\.rb$|^EXAMPLES.rd$/ }.to_a
+# 
+#   s.bindir = 'bin'
+#   s.executables = ['spec', 'spec_translator', 'autospec']
+#   s.default_executable = 'spec'
+#   s.author = &quot;RSpec Development Team&quot;
+#   s.email = &quot;rspec-devel@rubyforge.org&quot;
+#   s.homepage = &quot;http://rspec.rubyforge.org&quot;
+#   s.platform = Gem::Platform::RUBY
+#   s.rubyforge_project = &quot;rspec&quot;
+# end
+# 
+# Rake::GemPackageTask.new(spec) do |pkg|
+#   pkg.need_zip = true
+#   pkg.need_tar = true
+# end
+# 
+# def egrep(pattern)
+#   Dir['**/*.rb'].each do |fn|
+#     count = 0
+#     open(fn) do |f|
+#       while line = f.gets
+#         count += 1
+#         if line =~ pattern
+#           puts &quot;#{fn}:#{count}:#{line}&quot;
+#         end
+#       end
+#     end
+#   end
+# end
+# 
+# desc &quot;Look for TODO and FIXME tags in the code&quot;
+# task :todo do
+#   egrep /(FIXME|TODO|TBD)/
+# end
+# 
+# task :release =&gt; [:verify_committed, :verify_user, :spec, :publish_packages, :tag, :publish_news]
+# 
+# desc &quot;Verifies that there is no uncommitted code&quot;
+# task :verify_committed do
+#   IO.popen('git status') do |io|
+#     io.each_line do |line|
+#       raise &quot;\n!!! Do a git commit first !!!\n\n&quot; if line =~ /^#\s*modified:/
+#     end
+#   end
+# end
+# 
+# desc &quot;Creates a tag in svn&quot;
+# task :tag do
+#   # from = `svn info #{File.dirname(__FILE__)}`.match(/URL: (.*)\/rspec/n)[1]
+#   # to = from.gsub(/trunk/, &quot;tags/#{Spec::VERSION::TAG}&quot;)
+#   # current = from.gsub(/trunk/, &quot;tags/CURRENT&quot;)
+#   # 
+#   # puts &quot;Creating tag in SVN&quot;
+#   # tag_cmd = &quot;svn cp #{from} #{to} -m \&quot;Tag release #{Spec::VERSION::FULL_VERSION}\&quot;&quot;
+#   # `#{tag_cmd}` ; raise &quot;ERROR: #{tag_cmd}&quot; unless $? == 0
+#   # 
+#   # puts &quot;Removing CURRENT&quot;
+#   # remove_current_cmd = &quot;svn rm #{current} -m \&quot;Remove tags/CURRENT\&quot;&quot;
+#   # `#{remove_current_cmd}` ; raise &quot;ERROR: #{remove_current_cmd}&quot; unless $? == 0
+#   # 
+#   # puts &quot;Re-Creating CURRENT&quot;
+#   # create_current_cmd = &quot;svn cp #{to} #{current} -m \&quot;Copy #{Spec::VERSION::TAG} to tags/CURRENT\&quot;&quot;
+#   # `#{create_current_cmd}` ; &quot;ERROR: #{create_current_cmd}&quot; unless $? == 0
+# end
+# 
+# task :verify_user do
+#   raise &quot;RUBYFORGE_USER environment variable not set!&quot; unless ENV['RUBYFORGE_USER']
+# end
+# 
+# desc &quot;Upload Website to RubyForge&quot;
+# task :publish_website =&gt; [:verify_user, :website] do
+#   unless Spec::VERSION::RELEASE_CANDIDATE
+#     publisher = Rake::SshDirPublisher.new(
+#       &quot;rspec-website@rubyforge.org&quot;,
+#       &quot;/var/www/gforge-projects/#{PKG_NAME}&quot;,
+#       &quot;../doc/output&quot;
+#     )
+#     publisher.upload
+#   else
+#     puts &quot;** Not publishing packages to RubyForge - this is a prerelease&quot;
+#   end
+# end
+# 
+# desc &quot;Upload Website archive to RubyForge&quot;
+# task :archive_website =&gt; [:verify_user, :website] do
+#   publisher = Rake::SshDirPublisher.new(
+#     &quot;rspec-website@rubyforge.org&quot;,
+#     &quot;/var/www/gforge-projects/#{PKG_NAME}/#{Spec::VERSION::TAG}&quot;,
+#     &quot;../doc/output&quot;
+#   )
+#   publisher.upload
+# end
+# 
+# desc &quot;Package the Rails plugin&quot;
+# task :package_rspec_on_rails do
+#   mkdir 'pkg' rescue nil
+#   rm_rf &quot;pkg/rspec-rails-#{PKG_VERSION}&quot; rescue nil
+#   `git clone ../rspec-rails pkg/rspec-rails-#{PKG_VERSION}`
+#   rm_rf &quot;pkg/rspec-rails-#{PKG_VERSION}/.git&quot;
+#   Dir.chdir 'pkg' do
+#     `tar cvzf rspec-rails-#{PKG_VERSION}.tgz rspec-rails-#{PKG_VERSION}`
+#   end
+# end
+# task :pkg =&gt; :package_rspec_on_rails
+# 
+# desc &quot;Package the RSpec.tmbundle&quot;
+# task :package_tmbundle do
+#   mkdir 'pkg' rescue nil
+#   rm_rf &quot;pkg/RSpec-#{PKG_VERSION}.tmbundle&quot; rescue nil
+#   `git clone ../../../../RSpec.tmbundle pkg/RSpec-#{PKG_VERSION}.tmbundle`
+#   rm_rf &quot;pkg/RSpec-#{PKG_VERSION}.tmbundle/.git&quot;
+#   Dir.chdir 'pkg' do
+#     `tar cvzf RSpec-#{PKG_VERSION}.tmbundle.tgz RSpec-#{PKG_VERSION}.tmbundle`
+#   end
+# end
+# task :pkg =&gt; :package_tmbundle
+# 
+# desc &quot;Publish gem+tgz+zip on RubyForge. You must make sure lib/version.rb is aligned with the CHANGELOG file&quot;
+# task :publish_packages =&gt; [:verify_user, :package, :pkg] do
+#   release_files = FileList[
+#     &quot;pkg/#{PKG_FILE_NAME}.gem&quot;,
+#     &quot;pkg/#{PKG_FILE_NAME}.tgz&quot;,
+#     &quot;pkg/rspec-rails-#{PKG_VERSION}.tgz&quot;,
+#     &quot;pkg/#{PKG_FILE_NAME}.zip&quot;,
+#     &quot;pkg/RSpec-#{PKG_VERSION}.tmbundle.tgz&quot;
+#   ]
+#   unless Spec::VERSION::RELEASE_CANDIDATE
+#     require 'meta_project'
+#     require 'rake/contrib/xforge'
+# 
+#     Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new(PKG_NAME)) do |xf|
+#       # Never hardcode user name and password in the Rakefile!
+#       xf.user_name = ENV['RUBYFORGE_USER']
+#       xf.files = release_files.to_a
+#       xf.release_name = &quot;RSpec #{PKG_VERSION}&quot;
+#     end
+#   else
+#     puts &quot;SINCE THIS IS A PRERELEASE, FILES ARE UPLOADED WITH SSH, NOT TO THE RUBYFORGE FILE SECTION&quot;
+#     puts &quot;YOU MUST TYPE THE PASSWORD #{release_files.length} TIMES...&quot;
+# 
+#     host = &quot;rspec-website@rubyforge.org&quot;
+#     remote_dir = &quot;/var/www/gforge-projects/#{PKG_NAME}&quot;
+# 
+#     publisher = Rake::SshFilePublisher.new(
+#       host,
+#       remote_dir,
+#       File.dirname(__FILE__),
+#       *release_files
+#     )
+#     publisher.upload
+# 
+#     puts &quot;UPLADED THE FOLLOWING FILES:&quot;
+#     release_files.each do |file|
+#       name = file.match(/pkg\/(.*)/)[1]
+#       puts &quot;* http://rspec.rubyforge.org/#{name}&quot;
+#     end
+# 
+#     puts &quot;They are not linked to anywhere, so don't forget to tell people!&quot;
+#   end
+# end
+# 
+# desc &quot;Publish news on RubyForge&quot;
+# task :publish_news =&gt; [:verify_user] do
+#   unless Spec::VERSION::RELEASE_CANDIDATE
+#     require 'meta_project'
+#     require 'rake/contrib/xforge'
+#     Rake::XForge::NewsPublisher.new(MetaProject::Project::XForge::RubyForge.new(PKG_NAME)) do |news|
+#       # Never hardcode user name and password in the Rakefile!
+#       news.user_name = ENV['RUBYFORGE_USER']
+#     end
+#   else
+#     puts &quot;** Not publishing news to RubyForge - this is a prerelease&quot;
+#   end
+# end
\ No newline at end of file</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'spec/version'
 require 'spec/matchers'
 require 'spec/expectations'
 require 'spec/example'
@@ -28,4 +27,24 @@ module Spec
       !Object.const_defined?(:Test) || Test::Unit.run?
     end
   end
+
+  module VERSION
+    unless defined? MAJOR
+      MAJOR  = 1
+      MINOR  = 1
+      TINY   = 4
+      RELEASE_CANDIDATE = nil
+
+      BUILD_TIME_UTC = 20080628203842
+
+      STRING = [MAJOR, MINOR, TINY].join('.')
+      TAG = &quot;REL_#{[MAJOR, MINOR, TINY, RELEASE_CANDIDATE].compact.join('_')}&quot;.upcase.gsub(/\.|-/, '_')
+      FULL_VERSION = &quot;#{[MAJOR, MINOR, TINY, RELEASE_CANDIDATE].compact.join('.')} (build #{BUILD_TIME_UTC})&quot;
+
+      NAME   = &quot;RSpec&quot;
+      URL    = &quot;http://rspec.rubyforge.org/&quot;  
+
+      DESCRIPTION = &quot;#{NAME}-#{FULL_VERSION} - BDD for Ruby\n#{URL}&quot;
+    end
+  end
 end
\ No newline at end of file</diff>
      <filename>lib/spec.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>CHANGES</filename>
    </removed>
    <removed>
      <filename>README</filename>
    </removed>
    <removed>
      <filename>lib/spec/version.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>69e0fd3bde6f32b36202864646f8b640c62249a7</id>
    </parent>
  </parents>
  <author>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </author>
  <url>http://github.com/dchelimsky/rspec/commit/d9b6ae83dff8c9ab11ba10739ea646e1bd752d94</url>
  <id>d9b6ae83dff8c9ab11ba10739ea646e1bd752d94</id>
  <committed-date>2008-07-02T15:37:22-07:00</committed-date>
  <authored-date>2008-07-02T15:37:22-07:00</authored-date>
  <message>using hoe (more work to do)</message>
  <tree>53b62688e1f3c3846334bde0305cc6cb134fec17</tree>
  <committer>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </committer>
</commit>
