Ant integration: taskdef RakeImport doesn't import targets into rake if called 
from within a target
---------------------------------------------------------------------------------------------------

                 Key: JRUBY-4924
                 URL: http://jira.codehaus.org/browse/JRUBY-4924
             Project: JRuby
          Issue Type: Bug
          Components: Java Integration
    Affects Versions: JRuby 1.5.1
            Reporter: Rustbear
            Priority: Minor


Background: the aim was to replace an ant build script with a JRuby rake script 
within an ant multiproject configuration (where there is a master build xml, 
which imports other build xmls lying in subfolders).

Problem: when invoking the ant taskdef target with org.jruby.ant.RakeImport 
from within a target, not at the project level, then the rake tasks are not 
picked up in the script. An example of this setup is below:

build.xml
~~~~~~~~~
<?xml version="1.0" encoding="UTF-8"?>

<project name="foobar" default="top-level" basedir=".">
  <description>Builds, tests, and runs the project foobar.</description>

  <target name="init">
    <taskdef name="rakeimport" classname="org.jruby.ant.RakeImport"/>
    <rakeimport/>
  </target>

  <target name="top-level" depends="init">
    <antcall target="its_in.rake"/>
  </target>

  <target name="its_in_ant">
    <echo message="ant: its_in_ant"/>
  </target>
</project>

Rakefile
~~~~~~~~
task "its_in.rake" => ["task.setup", :its_in_ant]  do
  puts "it's in Rake"
end

task "task.setup" do
  puts ant.project.get_property("ant.project.name")
  puts "setup in Rake"
end

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It is not possible to place the taskdef at the project level, because if this 
is done, then the taskdef will be reloaded over and over during the build 
process (see this blog post: 
http://raibledesigns.com/rd/entry/ant_trying_to_override_old) until the build 
dies from a PermGen OutOfMemoryException.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to