ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harkness, David" <DHarkn...@sonypictures.com>
Subject RE: Major frustration.
Date Thu, 12 Jun 2003 17:49:12 GMT
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:gander@vte.com] 
Sent: Thursday, June 12, 2003 10:40 AM
To: user@ant.apache.org
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>
[gander@voyager 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
[gander@voyager lib]$ pwd
/home/gander/usr/opt/xdoclet/lib
[gander@voyager 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: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message