[ 
http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1486?page=comments#action_17232
 ] 

Felipe Desiderati commented on XDT-1486:
----------------------------------------

I am having the same problem described, and with the same enviroment 
specifications. First, I wasted a feel hours to track the problem and then I 
tried a lot of things: I tried another version (1.2.2, 1.2.1) and doesn't work; 
I tried remove all dependencies in project.xml which the plugin provides and 
doesn't work; ... Nothing happens.

After that, I had an Idea... to copy the xdoclet:ejbdoclet goal from 
plugin.jelly to my maven.xml file. So my maven.xml file looks like:
        ...
        <!-- I simplified the code for tests -->
        <goal description="ejbdoclet" name="xdoclet-test:ejbdoclet">
                <taskdef name="ejbdoclet" 
classname="xdoclet.modules.ejb.EjbDocletTask">
                        <classpath>
                                <!-- Add a dependency to classpath. -->
                                <path refid="maven.dependency.classpath"/>
                                <!-- Not necessary add to classpath other 
dependency. All dependencies are declared in project.xml. -->
                        </classpath>
                </taskdef>
                <ejbdoclet ejbSpec="2.0" destDir="${xdoclet.dest.dir}">
                        <echo>Start Test...</echo>                      
                        <fileset dir="${xdoclet.src.dir}" 
includes="**/*Bean.java"></fileset>
                        <packageSubstitution packages="bean" 
substituteWith="interfaces"></packageSubstitution>
                        
                        <jboss Version="3.0" 
destDir="${xdoclet.conf.dir}/META-INF"></jboss>
                        <deploymentdescriptor 
destDir="${xdoclet.conf.dir}/META-INF"></deploymentdescriptor>

                        <homeinterface></homeinterface>
                        <remoteinterface></remoteinterface>

                        <echo>End Test...</echo>                        
                </ejbdoclet>

                <path id="ejbdoclet.java.compile.src.set" 
location="${maven.xdoclet.ejbdoclet.destDir}"/>
                <maven:addPath id="maven.compile.src.set" 
refid="ejbdoclet.java.compile.src.set"/>
        </goal>
        ...

And then, I add all the dependencies in my project.xml: (PS: I used 1.2.3 
Xdoclet version in my depenpencies [commons-collections, commons-logging, 
log4j, xdoclet, xdoclet-xdoclet-module, xdoclet-ejb-module, xdoclet-web-module, 
xdoclet-hibernate-module, xdoclet-jdo-module, xdoclet-jmx-module, 
xdoclet-portlet-module, xjavadoc] and [xdoclet-jboss-module, jboss-j2ee, 
servletapi]). And Believe... WORKS!!!

Now, I needed make a test using a Maven Plugin. So I created a simple Maven 
Plugin, that is, nothing less, a simple copy form the example above. (See 
zipped file in attach xdoclet_v1.zip). And............. Believe.............. 
WORKS!!!

So, I saw the problem. The problem is on declaration of plugin dependencies in 
plugin.jelly. See below:
        ...
        <classpath>
                <path refid="maven.dependency.classpath"/>

                <!-- Problem in this declarations. If you remove this, and put 
the dependencies in your project.xml. The plugin will work. ????? -->
                <pathelement 
path="${plugin.getDependencyPath('xdoclet:xdoclet-ejb-module')}"/>              
  
                <pathelement 
path="${plugin.getDependencyPath('xdoclet:xdoclet')}"/>
                <pathelement 
path="${plugin.getDependencyPath('xjavadoc:xjavadoc')}"/>
                <pathelement 
path="${plugin.getDependencyPath('xdoclet:xdoclet-xdoclet-module')}"/>
                <pathelement 
path="${plugin.getDependencyPath('commons-collections:commons-collections')}"/>
                <pathelement 
path="${plugin.getDependencyPath('commons-logging:commons-logging')}"/>
                <pathelement path="${plugin.getDependencyPath('log4j:log4j')}"/>
        </classpath>
        ...

But when I odd the <pathelement .../> declarations to plugin.jelly and odd the 
dependencies in project.xml file, and repack the plugin... the program still 
WORKED. (See zipped file in attach xdoclet_v2.zip)

At end, I make my last test, I removed the dependencies from my project.xml, 
and .... THE PROGRAM NOT WORK!!! So I found something: IF YOU ADD (COPY FROM 
PLUGIN PROJECT.XML) THE DEPENDENCIES IN YOUR PROJECT.XML, THE PROGRAM WORKS!!!

But, I wasn't satisfied. So I verified (including and removing the dependencies 
in my project.xml) that if you use xdoclet-jboss-module, YOU MUST define 
xdoclet-web-module and xdoclet-jmx-module.

So, we have two alternatives: one is declare this two dependencies in our 
project.xml, when always we want use jboss module; and another alernative is 
add these two lines in plugin.jelly:

        ...
        <classpath>
                ....

                <pathelement 
path="${plugin.getDependencyPath('xdoclet:xdoclet-web-module')}"/>
                <pathelement 
path="${plugin.getDependencyPath('xdoclet:xdoclet-jmx-module')}"/>
        </classpath>
        ...

Thanks, Felipe.
PS: I suggest put some link in section Advanced > Maven Plugin explaining the 
issue, because in this section exists an example using Jboss!!!

> xdoclet-jboss-module breaks xdoclet:ejbdoclet maven target
> ----------------------------------------------------------
>
>          Key: XDT-1486
>          URL: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1486
>      Project: XDoclet
>         Type: Bug
>   Components: Maven Plugin, JBoss Module
>     Versions: 1.2.3
>  Environment: JDK 1.5.0 (Windows XP), Maven 1.0.2, XDoclet 1.2.3
>     Reporter: Fredrik Vraalsen
>     Assignee: xdoclet-devel (Use for new issues)
>  Attachments: maven-xdoclet-output-with-jboss-module.txt, 
> maven-xdoclet-output-without-jboss-module.txt, project.properties, project.xml
>
>
> I am unable to get the Maven plugin to generate the jboss.xml file.  As per 
> the instructions on the XDoclet Maven plugin webpage, I tried adding 
> xdoclet-jboss-module-1.2.3.jar to my project dependencies.
> As the xdoclet-jboss-module-1.2.3.jar is not available from the ibiblio maven 
> repository I copied the file manually into my local maven repository.
> However, when I add the jboss module to my dependencies, the 
> xdoclet:ejbdoclet target doesn't work at all.  None of the other files are 
> generated either, it just finishes without any output or error messages 
> whatsoever.
> I'm attaching my project.properties, project.xml as well as the output 
> captured from the command 'maven -o -X xdoclet:ejbdoclet' both with and 
> without the jboss module in my project dependencies.

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



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
xdoclet-devel mailing list
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to