Yes, you can have a target with a space in it (or at least this build.xml file has been working fine for over a month). EjbDocletTask runs just fine, creates my files correctly, gives candy to little children and saves the whales. WebDocletTask on the other hand is quite another story.

G


Harkness, David wrote:


Umm, can you have a target name with a space in it? Even if you can, I
wouldn't recommend it. Try renaming it to "Prepare-Build" and see what
happens. It looks like the EJBDoclet task goes to run, but it gets
confused by the depends="Prepare Build" part. I'm just guessing...

Dave

-----Original Message-----
From: Gerald D. Anderson [mailto:[EMAIL PROTECTED] Sent: Thursday, June 12, 2003 10:40 AM
To: [EMAIL PROTECTED]
Subject: Major frustration.



Hey all,


Thanks for reading, I'm about to the point of homicide/suicide with this thing. Trying to move to Xdoclet 1.2b2 from 1.1 so that I can get the benefit of some of the newer tags (autoincrement, etc) Here's the setup.

Xdoclet-1.2b2 (downloaded 6/11/03)
Ant-1.5.3
IntelliJ's IDEA 3.0.4 (IDE. Dropped the ant-1.5.3.jar into replace the default ant.jar (same problem with default))
Linux (RH9)
IBM J2RE 1.4.1
jboss-3.2.1 if you're curious



Here's the important cuts from the files (anything in [ ] is editorial addition):


ant.properties (is imported in build.xml) CODE tags added for clarity IF you're seeing this as HTML. .they're not XML.

<code>
 Set the path to the root directory of the XDoclet distribution (see #
http://www.sf.net/projects/xdoclet)
xdoclet.home=/home/gander/usr/opt/xdoclet

# Set this to "true" when you want to force the rebuild of the XDoclet generated
# files (see XDoclet's <ejbdoclet> attribute "force") xdoclet.force=true
</code>


Listing of lib path to eliminate any doubt of idiocy (or prove idiocy, yes path is to xdoclet, this is xdoclet/lib. . .you'll see) <code>
[EMAIL PROTECTED] lib]$ ls
commons-collections-2.0.jar xdoclet-jmx-module-1.2b2.jar
commons-logging.jar xdoclet-libelis-module-1.2b2.jar
log4j.jar xdoclet-macromedia-module-1.2b2.jar
maven-xdoclet-plugin-1.2b2.jar xdoclet-mvcsoft-module-1.2b2.jar
xdoclet-1.2b2.jar xdoclet-mx4j-module-1.2b2.jar
xdoclet-apache-module-1.2b2.jar xdoclet-objectweb-module-1.2b2.jar
xdoclet-bea-module-1.2b2.jar xdoclet-orion-module-1.2b2.jar
xdoclet-borland-module-1.2b2.jar xdoclet-pramati-module-1.2b2.jar
xdoclet-caucho-module-1.2b2.jar xdoclet-solarmetric-module-1.2b2.jar
xdoclet-ejb-module-1.2b2.jar xdoclet-sybase-module-1.2b2.jar
xdoclet-exolab-module-1.2b2.jar xdoclet-tjdo-module-1.2b2.jar
xdoclet-hibernate-module-1.2b2.jar xdoclet-web-module-1.2b2.jar
xdoclet-hp-module-1.2b2.jar xdoclet-webwork-module-1.2b2.jar
xdoclet-ibm-module-1.2b2.jar xdoclet-xdoclet-module-1.2b2.jar
xdoclet-java-module-1.2b2.jar xdoclet-xjavadoc-1.2b2.jar
xdoclet-jboss-module-1.2b2.jar xdoclet-xjavadoc-uc-1.2b2.jar
xdoclet-jdo-module-1.2b2.jar
[EMAIL PROTECTED] lib]$ pwd
/home/gander/usr/opt/xdoclet/lib
[EMAIL PROTECTED] lib]$
</code>


Ok, here's the path setup for ant:

<code>
<path id="xdoclet.path">
        <pathelement location="${ant.home}/lib/ant.jar" />
        <pathelement location="${ant.home}/lib/optional.jar" />
        <pathelement location="${ant.home}/lib/xercesImpl.jar" />
                <pathelement location="${ant.home}/lib/xml-apis.jar" />
                <pathelement location="${jakarta.logging.jar}" />
                <pathelement location="${ejb.jar}" />
                <pathelement location="${log4j.jar}" />
        <fileset dir="${xdoclet.home}/lib">  [****include all *.jar]
            <include name="*.jar"/>
        </fileset>
        </path>
</code>

My base.path just for grins:

<code>
   <path id="base.path">
      <path refid="xdoclet.path"/> [***includes the xdoclet.path]
      <pathelement location="${jboss.client}/jboss-j2ee.jar" />
      <pathelement location="${jboss.client}/jnp-client.jar" />
      <pathelement location="${jboss.client}/jbossmq-client.jar" />
      <pathelement location="${jboss.client}/jbosssx-client.jar" />
      <pathelement location="${jboss.client}/concurrent.jar" />
      <pathelement location="${jboss.client}/jaas.jar" />
      <pathelement location="${jboss.lib}/jboss-jmx.jar" />
      <pathelement location=
        "${jboss.home}/server/${jboss.configuration}/lib/jbosssx.jar"
/>
      <pathelement location=
        "${jboss.home}/server/${jboss.configuration}/lib/mail.jar" />
      <pathelement location="${build.classes.dir}" />

   </path>
</code>

Ok, now for something completely target:

<code>
<!-- Target XDoclet
Execute XDoclet on the java source files for automatic
generation
of platform specific deployment descriptors.
-->
<target name="Generate XDoclet" depends="Prepare Build">
<taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask">
<classpath refid="xdoclet.path"/>
</taskdef>


        <ejbdoclet  [****EJBDOCLETTASK WORKS***]
            destdir="${build.generate.dir}"
            excludedtags="@version,@author"
            ejbspec="2.0"
            mergedir="${src.etc.dir}/xdoclet"
            force="${xdoclet.force}"
        >

            <fileset dir="${src.dir}">
                <include name="edu/**/*.java"/>
            </fileset>

<!--<deploymentdescriptor destdir="${build.dir}/META-INF"/> -->

            <jboss version="${jboss.version}"
                xmlencoding="UTF-8"
                typemapping="${type.mapping}"
                datasource="${datasource.name}"
                destdir="${build.dir}/META-INF"
                validateXml="false"
            />
        </ejbdoclet>

         <taskdef  [*****WEBDOCLETTASK DOES NOT WORK]
            name="webdoclet"
            classname="xdoclet.modules.web.WebDocletTask"
            classpathref="xdoclet.path"
            /> [***Straight from the examples build.xml]


<webdoclet destdir="${build.dir}" mergedir="parent-fake-to-debug" excludedtags="@version,@author,@todo" force="${xdoclet.force}" verbose="false" > [***Straight from examples]

            <fileset dir="${src.servlet.dir}">
                <include name="**/*.java"/>
            </fileset> [***Straight from examples]


<deploymentdescriptor destdir="${build.dir}/WEB-INF"/>


            <jbosswebxml
                destdir="${build.dir}/WEB-INF"
            />

            <jsptaglib
                destdir="${build.dir}/WEB-INF/tlds"
                uri="cms-taglib"
                shortName="shortname"
            />
        </webdoclet>
        <echo>Completed successfully!</echo>
    </target>
</code>

And if that wasn't fascinating enough. . .the result:

<code>
Make sure the jar file containing the webdoclet class is on the classpath specified in the <taskdef> that defined {2}. These classes are


needed in order to generate correct output.
at xdoclet.DocletTask.checkClass(DocletTask.java:501)
at xdoclet.modules.web.WebDocletTask.validateOptions(WebDocletTask.java:22)


[******I find it very interesting that it is running what it can't find
: b]
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:53)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at
com.intellij.rt.ant.execution.AntMain.runBuild(AntMain.java:493)
at com.intellij.rt.ant.execution.AntMain.start(AntMain.java:166)
at com.intellij.rt.ant.execution.AntMain.main(AntMain.java:191)
/home/gander/work/IdeaProjects/Cox/CoxPortal/cms/build.xml:270: Unexpected error
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:82)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at
com.intellij.rt.ant.execution.AntMain.runBuild(AntMain.java:493)
at com.intellij.rt.ant.execution.AntMain.start(AntMain.java:166)
at com.intellij.rt.ant.execution.AntMain.main(AntMain.java:191)
Caused by: Make sure the jar file containing the webdoclet class is on the classpath specified in the <taskdef> that defined {2}. These classes


are needed in order to generate correct output.
at xdoclet.DocletTask.checkClass(DocletTask.java:501)
at
xdoclet.modules.web.WebDocletTask.validateOptions(WebDocletTask.java:22)
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:53)
... 14 more
--- Nested Exception ---
Make sure the jar file containing the webdoclet class is on the classpath specified in the <taskdef> that defined {2}. These classes are


needed in order to generate correct output.
        at xdoclet.DocletTask.checkClass(DocletTask.java:501)
        at
xdoclet.modules.web.WebDocletTask.validateOptions(WebDocletTask.java:22)
        at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:53)
        at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
        at org.apache.tools.ant.Task.perform(Task.java:341)
        at org.apache.tools.ant.Target.execute(Target.java:309)
        at org.apache.tools.ant.Target.performTasks(Target.java:336)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:397)
        at org.apache.tools.ant.Task.perform(Task.java:341)
        at org.apache.tools.ant.Target.execute(Target.java:309)
        at org.apache.tools.ant.Target.performTasks(Target.java:336)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
        at
org.apache.tools.ant.Project.executeTargets(Project.java:1255)
        at
com.intellij.rt.ant.execution.AntMain.runBuild(AntMain.java:493)
        at com.intellij.rt.ant.execution.AntMain.start(AntMain.java:166)
        at com.intellij.rt.ant.execution.AntMain.main(AntMain.java:191)
</code>

Note: I am just using xdoclet to generate my jboss specific EJB xml files. IDEA does a nice job with the ejb-jar.xml and pretty much leave that alone.

Ok, that's the info. My sob story is that we were hoping to make a MAJOR milestone today and this is holding me up. . .I am unbelievably frustrated and am not above begging. I PRAY I've got everything in here

of value, if not. . .let me know and I'll try to shore up the
information.

Thanks for saving lives. . .in advance, ; )

Gerald

P.S. No, I'm really not going to kill anybody or myself, well, not intentionally. . .if it can be helped..











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






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



Reply via email to