<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -9,3 +9,5 @@ require 'lib/thin'
 Dir['tasks/**/*.rake'].each { |rake| load rake }
 
 task :default =&gt; :spec
+
+ext_task :thin_parser
\ No newline at end of file</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,35 @@
 CLEAN.include %w(**/*.{o,bundle,jar,so,obj,pdb,lib,def,exp,log} ext/*/Makefile ext/*/conftest.dSYM)
 
-EXT_DIR    = 'ext/thin_parser'
-EXT_BUNDLE = &quot;#{EXT_DIR}/thin_parser.#{Config::CONFIG['DLEXT']}&quot;
-EXT_FILES  = FileList[
-  &quot;#{EXT_DIR}/*.c&quot;,
-  &quot;#{EXT_DIR}/*.h&quot;,
-  &quot;#{EXT_DIR}/*.rl&quot;,
-  &quot;#{EXT_DIR}/extconf.rb&quot;,
-  &quot;#{EXT_DIR}/Makefile&quot;,
-  &quot;lib&quot;
-]
+def ext_task(name)
+  ext_dir    = &quot;ext/#{name}&quot;
+  ext_bundle = &quot;#{ext_dir}/#{name}.#{Config::CONFIG['DLEXT']}&quot;
+  ext_files  = FileList[
+    &quot;#{ext_dir}/*.c&quot;,
+    &quot;#{ext_dir}/*.h&quot;,
+    &quot;#{ext_dir}/*.rl&quot;,
+    &quot;#{ext_dir}/extconf.rb&quot;,
+    &quot;#{ext_dir}/Makefile&quot;,
+    &quot;lib&quot;
+  ]
+  
+  task &quot;compile:#{name}&quot; =&gt; [&quot;#{ext_dir}/Makefile&quot;, ext_bundle]
+  task :compile =&gt; &quot;compile:#{name}&quot;
+  
+  file &quot;#{ext_dir}/Makefile&quot; =&gt; [&quot;#{ext_dir}/extconf.rb&quot;] do
+    cd(ext_dir) { ruby &quot;extconf.rb&quot; }
+  end
+
+  file ext_bundle =&gt; ext_files do
+    cd ext_dir do
+      sh(WIN ? 'nmake' : 'make')
+    end
+    cp ext_bundle, 'lib/'
+  end
+end
 
 desc &quot;Compile the Ragel state machines&quot;
 task :ragel do
-  Dir.chdir EXT_DIR do
+  Dir.chdir 'ext/thin_parser' do
     target = &quot;parser.c&quot;
     File.unlink target if File.exist? target
     sh &quot;ragel parser.rl | rlgen-cd -G2 -o #{target}&quot;
@@ -22,17 +38,5 @@ task :ragel do
 end
   
 desc &quot;Compile the extensions&quot;
-task :compile =&gt; [&quot;#{EXT_DIR}/Makefile&quot;, EXT_BUNDLE]
-
+task :compile
 task :package =&gt; :compile
-
-file &quot;#{EXT_DIR}/Makefile&quot; =&gt; [&quot;#{EXT_DIR}/extconf.rb&quot;] do
-  cd(EXT_DIR) { ruby &quot;extconf.rb&quot; }
-end
-
-file EXT_BUNDLE =&gt; EXT_FILES do
-  cd EXT_DIR do
-    sh(WIN ? 'nmake' : 'make')
-  end
-  cp EXT_BUNDLE, 'lib/'
-end</diff>
      <filename>tasks/ext.rake</filename>
    </modified>
    <modified>
      <diff>@@ -11,6 +11,8 @@ spec = Gem::Specification.new do |s|
   s.author                = &quot;Marc-Andre Cournoyer&quot;
   s.email                 = 'macournoyer@gmail.com'
   s.homepage              = 'http://code.macournoyer.com/thin/'
+  s.rubyforge_project     = 'thin'
+  s.has_rdoc              = true
   s.executables           = %w(thin)
 
   s.required_ruby_version = '&gt;= 1.8.6' # Makes sure the CGI eof fix is there</diff>
      <filename>tasks/gem.rake</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4c30c781a26b14bd7038646a6c258f57cb91c1f3</id>
    </parent>
  </parents>
  <author>
    <name>macournoyer</name>
    <email>macournoyer@gmail.com</email>
  </author>
  <url>http://github.com/macournoyer/thin/commit/59a972ced83e99eec7e95896fc5a6bdc32aa9ca6</url>
  <id>59a972ced83e99eec7e95896fc5a6bdc32aa9ca6</id>
  <committed-date>2008-03-02T12:57:21-08:00</committed-date>
  <authored-date>2008-03-02T12:57:21-08:00</authored-date>
  <message>A couple refactorings in rake tasks.</message>
  <tree>5bf2d5138ab12cbf5fd7be6141df18e45899632c</tree>
  <committer>
    <name>macournoyer</name>
    <email>macournoyer@gmail.com</email>
  </committer>
</commit>
