[ 
http://jira.codehaus.org/browse/MANTRUN-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=162720#action_162720
 ] 

Frédéric Chuong commented on MANTRUN-49:
----------------------------------------

Here is how to define the system property from Antrun before the XDoclet task:


{code:xml}
<script language="beanshell" classpathref="maven.plugin.classpath" 
manager="bsf" setbeans="false"><![CDATA[

    // workaround for XDoclet dependency on AntClassLoader

    System.setProperty(
        "xdoclet.class.path",
        project.getReference("maven.plugin.classpath").toString()
    );

]]></script>

<taskdef name="webdoclet" classname="xdoclet.modules..." 
classpathref="maven.plugin.classpath"/>

<webdoclet ...>
   ...
</webdoclet>
{code}

Of course you need to add the required bsf/bsh/ant... dependencies to the 
plugin dependencies.

> <taskdef/> seems ignoring classpath
> -----------------------------------
>
>                 Key: MANTRUN-49
>                 URL: http://jira.codehaus.org/browse/MANTRUN-49
>             Project: Maven 2.x Antrun Plugin
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: Fedora
>            Reporter: Jacek Gerbszt
>         Attachments: testcase.tar.gz
>
>
> I'm trying to run xdoclet in ant build file called from antrun plugin. The 
> build file is very simple:
> {code:xml}
> <project name="testcase" default="run">
>       <property name="maven.repository" value="set repository location 
> here!"/>
>       <property name="destdir" value="target/generated-sources"/>
>       
>       <path id="xdoclet.classpath">
>               <fileset dir="${maven.repository}">
>                       <include 
> name="commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
>                       <include 
> name="commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
>                       <include 
> name="jboss/jboss-j2ee/4.0.2/jboss-j2ee-4.0.2.jar"/>
>                       <include name="xjavadoc/xjavadoc/1.1/xjavadoc-1.1.jar"/>
>                       <include 
> name="xdoclet/xdoclet/1.2.3/xdoclet-1.2.3.jar"/>
>                       <include 
> name="xdoclet/xdoclet-ejb-module/1.2.3/xdoclet-ejb-module-1.2.3.jar"/>
>               </fileset>
>       </path>
>       
>       <target name="run">
>               <!-- print classplath -->
>               <property refid="xdoclet.classpath" name="cp"/>
>               <echo message="xdoclet.classpath: ${cp}"/>
>       
>               <!-- define ejbdoclet task -->
>               <taskdef classname="xdoclet.modules.ejb.EjbDocletTask" 
> classpathref="xdoclet.classpath" name="ejbdoclet"/>
>       
>               <!-- run ejbdoclet -->
>               <ejbdoclet destdir="${destdir}">
>                       <fileset includes="**/*Bean.java" 
> dir="${basedir}/src/main/java"/>
>                       <remoteinterface/>
>               </ejbdoclet>
>       </target>
> </project>
> {code}
> When executed directly from command (ant 
> -Dmaven.repository=/home/javor/.m2/repository) it works fine. But fails when 
> embedded in antrun:
> {code:xml}
> <plugin>
>         <artifactId>maven-antrun-plugin</artifactId>
>         <version>1.2-SNAPSHOT</version>
>         <executions>
>           <execution>
>             <phase>generate-sources</phase>
>             <goals>
>               <goal>run</goal>
>             </goals>
>             <configuration>
>               <tasks>
>                       <ant inheritRefs="true" inheritall="true" 
> antfile="build.xml">
>                               <property name="maven.repository" 
> value="${settings.localRepository}"/>
>                       </ant>
>               </tasks>
>             </configuration>
>           </execution>
>         </executions>
> </plugin>
> {code}
> Maven output:
> {noformat}
> ...
> [INFO] [antrun:run {execution: default}]
> [INFO] Executing tasks
>  
> run:
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Error executing ant tasks
>  
> Embedded error: The following error occurred while executing this line:
> /home/javor/workspace/testcase/build.xml:26: Can't create a remoteinterface 
> element under ejbdoclet. Make sure the jar file containing the corresponding 
> subtask class is on the classpath specified in the <taskdef> that defined {2}.
> ...
> {noformat}
> Could you show me any workaround or put a bit of light on that problem?

-- 
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


Reply via email to