Add the additional dependencies to the antrun <plugin/> element in your pom:

<plugin>
  <artifactId>mavne-antrnu-plugin</artifactId>
 ...
 <dependencies>
  <dependency>
    <groupId/>
    <artifactId/>
    <version/>
  </dependency>
 </dependencies>
</plugin>

On 3/11/06, Laurie Harper <[EMAIL PROTECTED]> wrote:
> Thanks for the link, I missed that page when I was documentation
> hunting. However, I don't quite see how it helps in this case, since (a)
> the <script> task doesn't accept a nested <classpath> and (b) I want to
> set the classpath Ant gets called with, not modify the Ant build in a
> way that would make it break outside of Maven.
>
> What I really need is a way to configure the plugin such that it invokes
> Ant with a specified system classpath (assuming the <script> and other
> tasks I need to get working define build.sysclasspath behaviour
> equivalent to 'only' or 'first', that is).
>
> L.
>
> Carlos Sanchez wrote:
> > http://maven.apache.org/plugins/maven-antrun-plugin/classpaths.html
> > "Using optional ant tasks"
> >
> > On 3/9/06, Laurie Harper <[EMAIL PROTECTED]> wrote:
> >> I'm trying to integrate a third-party, ant-based build into a Maven2
> >> build using the antrun plugin. The problem is the ant build uses
> >> optional tasks, and I can't figure out how to get that to work.
> >>
> >> The ant build as shipped copies the required dependencies (jar files)
> >> for the optional tasks to ~/.ant/lib to make them available to ant and
> >> this works fine when calling ant from the command line, but not when
> >> invoking ant from Maven. In any case, I'd rather skip that requirement
> >> by putting the jars on ant's classpath via some configuration in my POM.
> >>
> >> I've tried everything I can think of, but the antrun plugin always gives
> >> me the standard ant error message, 'Ant could not find the task or a
> >> class this task relies upon.'. For example, a simple test:
> >>
> >> build.xml:
> >> <?xml version="1.0" encoding="iso-8859-1"?>
> >> <project name="script-test" default="script-test" basedir=".">
> >>    <target name="script-test">
> >>      <script language="javascript"><![CDATA[
> >>        //alert("Javascript OK");
> >>      ]]></script>
> >>    </target>
> >> </project>
> >>
> >> pom.xml:
> >> <project xmlns="...>
> >>    <modelVersion>4.0.0</modelVersion>
> >>
> >>    <groupId>tmp</groupId>
> >>    <artifactId>tmp</artifactId>
> >>    <version>1.0-SNAPSHOT</version>
> >>
> >>    <build>
> >>      <plugins>
> >>        <plugin>
> >>          <artifactId>maven-antrun-plugin</artifactId>
> >>          <executions>
> >>            <execution>
> >>              <phase>compile</phase>
> >>              <!--<phase>generate-resources</phase>-->
> >>              <configuration>
> >>                <tasks>
> >>                  <ant dir="."/>
> >>                </tasks>
> >>              </configuration>
> >>              <goals>
> >>                <goal>run</goal>
> >>              </goals>
> >>            </execution>
> >>          </executions>
> >>        </plugin>
> >>      </plugins>
> >>    </build>
> >>
> >>    <dependencies>
> >>      <dependency>
> >>        <groupId>ant</groupId>
> >>        <artifactId>ant-optional</artifactId>
> >>        <version>1.5.2</version>
> >>        <scope>compile</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>bsf</groupId>
> >>        <artifactId>bsf</artifactId>
> >>        <systemPath>${basedir}/bsf.jar</systemPath>
> >>        <version>BUNDLED</version>
> >>        <scope>system</scope>
> >>      </dependency>
> >>      <dependency>
> >>        <groupId>js</groupId>
> >>        <artifactId>js</artifactId>
> >>        <systemPath>${basedir}/js.jar</systemPath>
> >>        <version>BUNDLED</version>
> >>        <scope>system</scope>
> >>      </dependency>
> >>    </dependencies>
> >> </project>
> >>
> >> Result:
> >> $ mvn compile
> >> [INFO] Scanning for projects...
> >> [INFO]
> >> ----------------------------------------------------------------------------
> >> [INFO] Building Unnamed - tmp:tmp:jar:1.0-SNAPSHOT
> >> [INFO]    task-segment: [compile]
> >> [INFO]
> >> ----------------------------------------------------------------------------
> >> [INFO] [resources:resources]
> >> [INFO] Using default encoding to copy filtered resources.
> >> [INFO] [compiler:compile]
> >> [INFO] No sources to compile
> >> [INFO] [antrun:run {execution: default}]
> >> [INFO] Executing tasks
> >>
> >> script-test:
> >> [INFO]
> >> ----------------------------------------------------------------------------
> >> [ERROR] BUILD ERROR
> >> [INFO]
> >> ----------------------------------------------------------------------------
> >> [INFO] Error executing ant tasks
> >>
> >> Embedded error: The following error occurred while executing this line:
> >> /Users/laurie/tmp/mvn-ant-script/build.xml:4: Could not create task or
> >> type of type: script.
> >>
> >> Ant could not find the task or a class this task relies upon.
> >>
> >> This is common and has a number of causes; the usual
> >> solutions are to read the manual pages then download and
> >> install needed JAR files, or fix the build file:
> >>   - You have misspelt 'script'.
> >>     Fix: check your spelling.
> >>   - The task needs an external JAR file to execute
> >>       and this is not found at the right place in the classpath.
> >>     Fix: check the documentation for dependencies.
> >>     Fix: declare the task.
> >>   - The task is an Ant optional task and the JAR file and/or libraries
> >>       implementing the functionality were not found at the time you
> >>       yourself built your installation of Ant from the Ant sources.
> >>     Fix: Look in the ANT_HOME/lib for the 'ant-' JAR corresponding to the
> >>       task and make sure it contains more than merely a
> >> META-INF/MANIFEST.MF.
> >>       If all it contains is the manifest, then rebuild Ant with the needed
> >>       libraries present in ${ant.home}/lib/optional/ , or alternatively,
> >>       download a pre-built release version from apache.org
> >>   - The build file was written for a later version of Ant
> >>     Fix: upgrade to at least the latest release version of Ant
> >>   - The task is not an Ant core or optional task
> >>       and needs to be declared using <taskdef>.
> >>   - You are attempting to use a task defined using
> >>      <presetdef> or <macrodef> but have spelt wrong or not
> >>     defined it at the point of use
> >>
> >> Remember that for JAR files to be visible to Ant tasks implemented
> >> in ANT_HOME/lib, the files must be in the same directory or on the
> >> classpath
> >>
> >> Please neither file bug reports on this problem, nor email the
> >> Ant mailing lists, until all of these causes have been explored,
> >> as this is not an Ant bug.
> >> [INFO]
> >> ----------------------------------------------------------------------------
> >> [INFO] For more information, run Maven with the -e switch
> >> [INFO]
> >> ----------------------------------------------------------------------------
> >> [INFO] Total time: 8 seconds
> >> [INFO] Finished at: Thu Mar 09 22:23:20 EST 2006
> >> [INFO] Final Memory: 3M/7M
> >> [INFO]
> >> ----------------------------------------------------------------------------
> >>
> >>
> >> Note: I'm using <scope>system</scope> because some of the JAR files used
> >> by the third-party bulid script are custom versions that ship with that
> >> product.
> >>
> >> Note: I want to hook the call to ant into the generate-resources
> >> lifecycle phase if possible, though I could live with hooking it into
> >> the compile phase if necessary to get the right classpath passed in to Ant.
> >>
> >> Note: I've tried various combinations of inheritAll and inheritRefs on
> >> the <ant/> task in pom.xml without any luck.
> >>
> >> Is there something simple I've missed, or is it just not possible to use
> >> Ant optional tasks with the antrun plugin?
> >>
> >> Thanks,
> >>
> >> L.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
> > --
> > I could give you my word as a Spaniard.
> > No good. I've known too many Spaniards.
> >                              -- The Princess Bride
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to