Hi,

I've been trying to track down an intermittent failure in my build script and I've discovered a repeatable problem with the sql ant task in buildr. When you execute the 'foo:postgresql' task in the buildfile below, the "SQL finished" line is never printed. The SQL gets executed, but then buildr just exits. There's no error and the usual "Completed in ..." message isn't printed.

If you use an invalid SQL statement (or database, etc.), you get an error from ant which buildr bubbles up, as expected. The behavior seems to be the same with buildr on MRI and JRuby. The problem isn't database-dependent -- I see the same thing with HSQLDB and Oracle. An equivalent ant script behaves as expected. If I use the src attribute and an external file instead of pcdata, I see the same weird behavior.

I use antwrap for other things in my buildfile and none of them act like this. I'll file a bug, but first I wanted to see if 1) anyone else uses the sql ant task in buildr and 2) either does or doesn't have this problem.

Thanks,
Rhett

------ Example buildfile ------

require 'buildr'

repositories.remote << "http://repo1.maven.org/maven2";

define 'foo' do
  task 'postgresql' do
    ant('test') do |ant|
      ant.sql :driver => 'org.postgresql.Driver',
:classpath => artifact("postgresql:postgresql:jar: 8.2-504.jdbc3").to_s,
        # some actual database
        :url => 'jdbc:postgresql:test',
        # and credentials
        :userid => 'rsutphin',
        :password => '',
        # some valid SQL statement for that database
        :pcdata => "UPDATE sites SET name='foo' WHERE name='foo';"
    end
    info "SQL finished"
  end
end

Reply via email to