Method: Buildr::Ant#ant

Defined in:
lib/buildr/java/ant.rb

#ant(name, &block) ⇒ Object

:call-seq:

ant(name) { |AntProject| ... } => AntProject

Creates a new AntProject with the specified name, yield to the block for defining various Ant tasks, and executes each task as it’s defined.

For example:

ant("hibernatedoclet') do |doclet|
  doclet.taskdef :name=>'hibernatedoclet',
    :classname=>'xdoclet.modules.hibernate.HibernateDocletTask', :classpath=>DOCLET
  doclet.hibernatedoclet :destdir=>dest_dir, :force=>'true' do
    hibernate :version=>'3.0'
    fileset :dir=>source, :includes=>'**/*.java'
  end
end


70
71
72
73
74
75
76
77
78
79
80
# File 'lib/buildr/java/ant.rb', line 70

def ant(name, &block)
  options = { :name=>name, :basedir=>Dir.pwd, :declarative=>true }
  options.merge!(:logger=> Logger.new(STDOUT), :loglevel=> Logger::DEBUG) if Buildr.application.options.trace
  Java.load
  Antwrap::AntProject.new(options).tap do |project|
    # Set Ant logging level to debug (--trace), info (default) or error only (--quiet).
    project.project.getBuildListeners().get(0).
      setMessageOutputLevel((Buildr.application.options.trace && 4) || (verbose && 2) || 0)
    yield project if block_given?
  end
end