<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -17,7 +17,6 @@ namespace :rcov do
   end
 
   require 'spec/rake/verify_rcov'
-  # rcov is wrong- I am actually at 100%
   RCov::VerifyTask.new(:verify =&gt; :rcov) do |t|
     t.threshold = 100 # Make sure you have rcov 0.7 or higher!
     t.index_html = $rcov_index_html
@@ -25,7 +24,7 @@ namespace :rcov do
 end
 
 desc &quot;create a new gem release&quot;
-task :release =&gt; [:test,:record,:rdoc,:website,:package] do
+task :release =&gt; [:test,:record,:rdoc,:website,:gem_specification,:package] do
   Dir.chdir('pkg') do
     release = Dir['*.gem'].sort_by {|file| File.mtime(file)}.last
     release =~ /^[^-]+-([.0-9]+).gem$/</diff>
      <filename>tasks/gregproject.rake</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,42 @@
-def exit_msg(msg, code=1)
-  puts msg
-  exit(code)
+def exit_msg msg, code=1 
+  puts msg; exit code 
 end
-def run command
-  res = `#{command}`
-  if $?.exitstatus != 0
-    exit_msg(
-      &quot;\nfailure on command:\n  #{command.chomp}\nresult:\n  #{res}\n&quot;,
-      $?.exitstatus
-    )
+
+# exit on non-zero error code
+def run! *command
+  res = run(*command)
+  if (s = $?.exitstatus) != 0
+    exit_msg(res, s)
+  else
+    res
   end
+end
+
+# this is like backticks, but the command will be shell escaped
+def run *command
+  res = run_shell_escaped *command
+  return &lt;&lt;-EOS if $?.exitstatus != 0
+
+exit code: #{$?.exitstatus}
+command result:
+#{res}
+
+failure on command:
+#{command.join(' ')}
+EOS
+
   res
 end
-def out command
-  (puts (run command))
+
+def run_shell_escaped *command
+  command = command.flatten.map do |str|
+    str =~/^'.*'$/ ? str : str.split(/\s+/)
+  end.flatten
+  res = IO.popen('-') {|io| io ? io.read : exec(command.shift, *command)}
+end
+
+def out *command
+  (puts (run! *command))
 end
 
 def cd_tmp</diff>
      <filename>tasks/helpers.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c0604feeac9f1a1630b8b90b8e6a568cbd15131a</id>
    </parent>
  </parents>
  <author>
    <name>Greg Weber</name>
    <email>greg@grubtop.(none)</email>
  </author>
  <url>http://github.com/gregwebs/module-import/commit/d7649388b60862c0d928b7559c518275873abe9c</url>
  <id>d7649388b60862c0d928b7559c518275873abe9c</id>
  <committed-date>2008-11-26T18:37:37-08:00</committed-date>
  <authored-date>2008-11-26T18:27:29-08:00</authored-date>
  <message>'update project helpers'</message>
  <tree>ecf4c781cc1f3ddcb9398b068aa68cbe90ac8f1e</tree>
  <committer>
    <name>Greg Weber</name>
    <email>greg@grubtop.(none)</email>
  </committer>
</commit>
