module Buildr::Nailgun::Client

Public Instance Methods

main(nail) click to toggle source
# File addon/buildr/nailgun.rb, line 104
def main(nail)
  nail.out.println "Connected to #{nail.getNGServer}"

  runtime = JRuby.runtime

  stdout = Util.ctor(org.jruby.RubyIO, runtime, java.io.OutputStream => nail.out)
  stderr = Util.ctor(org.jruby.RubyIO, runtime, java.io.OutputStream => nail.err)
  stdin = Util.ctor(org.jruby.RubyIO, runtime, java.io.InputStream => nail.in)

  dir = nail.getWorkingDirectory
  argv = [nail.command] + nail.args

  DRbApplication.remote_run :dir => dir, :argv => argv,
                            :in => stdin, :out => stdout, :err => stderr
rescue => e
  nail.err.println e unless SystemExit === e
  nail.exit 1
end