Hi All,

Thanks so much for your help so far!  But the saga continues...
I tried Jans approach, as well as some others.
Steve suggested the -v option, so I'm going to lay it all out here.
There is four parts to this e-mail:
 Ant's output,
 build.xml
 properties.xml
 build.properties

I do feel a little awkward exposing my ineptitudes to the world like this. As although I use Ant, Junit and Java on Linux, I don't really understand everything about taskdefs, classloaders and bash, because when things work, I stick to the programming.

 One more thing:  When I type export $CLASSPATH, I get
bash: export: ':/home/timmy/junit3.8.1/junit.jar:/home/timmy/packages/hibernate-extensions-2.1.3/tools:/home/timmy/packages/hibernate-3.0/lib:/home/timmy/packages/mysql-connector-java-3.0.17-ga': not a valid identifier

Should I be worried about the "not a valid identifier' part?


Antś output:
------------
Apache Ant version 1.6.5 compiled on June 2 2005
Buildfile: build.xml
Detected Java version: 1.4 in: /usr/java/j2sdk1.4.2_08/jre
Detected OS: Linux
parsing buildfile /home/timmy/projects/applabsuser/build.xml with URI = file:///home/timmy/projects/applabsuser/build.xml
Project base dir set to: /home/timmy/projects/applabsuser
resolving systemId: file:///home/timmy/projects/applabsuser/properties.xml
Property ${dist.dir} has not been set
[property] Loading Environment env.
Override ignored for property ant.home
[property] Loading /home/timmy/projects/build.properties
[property] Unable to find property file: /home/timmy/projects/build.properties
[property] Loading /home/timmy/projects/lib/lib.properties
[property] Unable to find property file: /home/timmy/projects/lib/lib.properties
Property ${checkstyle.version} has not been set
Property ${checkstyle.version} has not been set
Build sequence for target(s) `test-batch' is [init, resources, test-resources, compile, test-init, test-compile, test-batch] Complete build sequence is [init, resources, test-resources, compile, test-init, test-compile, test-batch, test-summary, setup-path, test-brief, javadoc, test, clean, dist, junit-commandline, test-xml, ]

init:
    [echo] Building AppLabsUser
    [echo] /////////////////////////////////////////////////////

resources:
    [echo] Copying Resources
[copy] AppLabsUser.hbm.xml omitted as AppLabsUser.hbm.xml is up to date.
    [copy] build.properties omitted as build.properties is up to date.
    [copy] build.xml omitted as build.xml is up to date.
[copy] hibernate-mapping.xml omitted as hibernate-mapping.xml is up to date.
    [copy] hibernate.cfg.xml omitted as hibernate.cfg.xml is up to date.
[copy] hibernate.properties omitted as hibernate.properties is up to date.
    [copy] properties.xml omitted as properties.xml is up to date.

test-resources:
    [echo] Copying Test Resources

compile:
[javac] org/applabs/hibernate/quickstart/AppLabsUser.java omitted as org/applabs/hibernate/quickstart/AppLabsUser.class is up to date.

test-init:
    [copy]  omitted as  is up to date.
    [copy] org omitted as org is up to date.
    [copy] org/applabs omitted as org/applabs is up to date.
[copy] org/applabs/hibernate omitted as org/applabs/hibernate is up to date. [copy] org/applabs/hibernate/quickstart omitted as org/applabs/hibernate/quickstart is up to date. [delete] Deleting directory /home/timmy/projects/applabsuser/build/test/data [delete] Deleting directory /home/timmy/projects/applabsuser/build/test/data [delete] Deleting directory /home/timmy/projects/applabsuser/build/test/reports [delete] Deleting directory /home/timmy/projects/applabsuser/build/test/reports
   [mkdir] Created dir: /home/timmy/projects/applabsuser/build/test/data
   [mkdir] Created dir: /home/timmy/projects/applabsuser/build/test/reports

test-compile:
[javac] org/applabs/hibernate/quickstart/AppLabsUserTest.java omitted as org/applabs/hibernate/quickstart/AppLabsUserTest.class is up to date.

test-batch:

build.xml
---------
<?xml version="1.0"?>
<!DOCTYPE project [
   <!ENTITY properties SYSTEM "../applabsuser/properties.xml">
]>

<project name="AppLabsUser"
        default="test-batch" basedir=".">

        <!-- Project settings -->
        <property name="project.name" value="${ant.project.name}"/>
        <property name="project.distname" value="applabs"/>
        <property name="project.version" value="0.3"/>
        <property name="project.version.jar" value="0-3"/>
<property name="jarfile.name" value="${project.distname}-${project.version}.jar"/>
        <property name="jarfile.path" location="${dist.dir}/${jarfile.name}"/>
<property name="resource.path" location="/home/timmy/projects/applabsuser"/>

 <property name="junit.fork" value="true"/>
 &properties;

 <path id="compile.classpath">
   <pathelement path ="lib/hibernate3.jar"/>
   <pathelement path ="lib/commons-lang-1.0.1.jar"/>
   <pathelement path ="lib/commons-logging-1.0.4.jar"/>
 </path>

 <path id="test.classpath">
   <path refid="compile.classpath"/>
   <pathelement location="${junit.jar}"/>
   <pathelement location="${ant-junit.jar}"/>
   <pathelement location="${build.dir}/classes"/>
   <pathelement location="${build.dir}/test"/>
 </path>

 <!-- Public Targets -->
 <target name="clean"
         description="Deletes all files that are generated by the build.">
   <delete dir="${build.dir}"/>
   <delete dir="${dist.dir}"/>
 </target>

   <!-- Copy any resource or configuration files -->
   <target name="resources" depends="init">
        <echo message="Copying ">Resources</echo>
       <copy todir="classes" includeEmptyDirs="no">
           <fileset dir="${resource.path}/">
           <patternset>
               <include name="*.conf"/>
               <include name="*.properties"/>
               <include name="*.xml"/>
           </patternset>
           </fileset>
       </copy>
   </target>

   <!-- Copy any resource or configuration files -->
   <target name="test-resources" depends="init">
        <echo message="Copying ">Test Resources</echo>
       <copy todir="classes" includeEmptyDirs="no">
           <fileset dir="${build.dir}/test/">
           <patternset>
               <include name="*.conf"/>
               <include name="*.properties"/>
               <include name="*.xml"/>
           </patternset>
           </fileset>
       </copy>
   </target>

 <!-- Internal Targets -->
 <target name="init">
   <mkdir dir="${build.dir}/classes"/>
   <mkdir dir="${dist.dir}"/>
   <echo message="Building ${ant.project.name}"/>
   <echo message="/////////////////////////////////////////////////////"/>
 </target>

 <!-- Suggested by Stephen McConnell [EMAIL PROTECTED]
      taskdef suggested by [EMAIL PROTECTED]
      refuted by Peter Reilly [EMAIL PROTECTED] -->
 <target name="setup-path" depends="init">
   <path id="project.main.path">
     <pathelement location="${ant.jar}"/>
     <pathelement location="${build.dir}/classes"/>
   </path>
   <path id="project.test.path">
     <path refid="project.main.path"/>
     <pathelement location="${ant-junit.jar}"/>
     <pathelement location="${junit.jar}"/>
   </path>
        <taskdef name="my.junit" classname="${junit.jar}"
                classpathref="project.test.path"/>
 </target>

 <target name="compile" depends="init,resources,test-resources">
   <javac destdir="${build.dir}/classes"
          debug="${build.debug}"
          includeAntRuntime="yes"
          srcdir="src">
     <classpath refid="compile.classpath"/>
   </javac>
 </target>

<!-- Build Javadoc documentation -->
   <target name="javadoc"
    description="Generate JavaDoc API docs">
       <delete dir="./doc/api"/>
       <mkdir dir="./doc/api"/>
       <javadoc sourcepath="./src/"
           destdir="./doc/api"
           classpath="${servlet.jar}:${servlet.jar}"
           packagenames="*"
           author="true"
           private="true"
           version="true"
           windowtitle="${project.name} API Documentation"
doctitle="&lt;h1&gt;${project.name} Documentation (Version ${project.version})&lt;/h1&gt;"
           bottom="Copyleft &#169; 2005">
           <classpath refid="compile.classpath"/>
       </javadoc>
   </target>


 <target name="test-init">
   <mkdir dir="${test.dir}"/>

   <copy todir="${test.dir}">
     <fileset dir="test" excludes="**/*.java"/>
   </copy>

   <delete dir="${test.data.dir}"/>
   <delete dir="${test.reports.dir}"/>
   <mkdir dir="${test.data.dir}"/>
   <mkdir dir="${test.reports.dir}"/>
 </target>

 <target name="test-compile" depends="compile,test-init">
   <javac destdir="${test.dir}"
          debug="${build.debug}"
          includeAntRuntime="yes"
          srcdir="test">
     <classpath refid="test.classpath"/>
   </javac>
 </target>

 <target name="test-summary" depends="test-compile">
   <junit printsummary="yes" haltonfailure="true">
     <classpath refid="test.classpath"/>
     <test name="org.catechis.ScoringTest"/>
   </junit>
 </target>

 <target name="test-brief" depends="test-compile">
   <junit printsummary="no" haltonfailure="true">
     <classpath refid="test.classpath"/>
     <formatter type="brief" usefile="false"/>
     <test name="org.catechis.ScoringTest"/>
   </junit>
 </target>

 <target name="test-xml" depends="test-compile">
   <junit printsummary="yes" haltonfailure="true">
     <classpath refid="test.classpath"/>
     <formatter type="brief" usefile="false"/>
     <formatter type="xml"/>
     <test todir="${test.data.dir}"
           name="org.catechis.ScoringTest"/>
   </junit>
 </target>

 <target name="test-batch" depends="test-compile">
   <junit printsummary="withOutAndErr"
           haltonfailure="false">
     <classpath refid="test.classpath"/>
     <formatter type="brief" usefile="true"/>
     <formatter type="xml"/>
     <batchtest todir="${test.data.dir}">
       <fileset dir="${test.dir}"
                 includes="**/*Test.class"/>
     </batchtest>
   </junit>
   <junitreport todir="${test.data.dir}">
     <fileset dir="${test.data.dir}">
       <include name="TEST-*.xml"/>
     </fileset>
     <report format="frames" todir="${test.reports.dir}"/>
   </junitreport>
 </target>

 <!--  refid changed from test.classpath to setup-path  -->
 <target name="test" depends="test-compile">
   <junit printsummary="true"
          errorProperty="test.failed"
          failureProperty="test.failed"
          fork="${junit.fork}">
     <classpath>
       <path refid="setup-path"/>
       <pathelement path="${java.class.path}"/>
     </classpath>
     <formatter type="brief" usefile="true"/>
     <formatter type="xml"/>
     <test name="${testcase}" todir="${test.data.dir}" if="testcase"/>
     <batchtest todir="${test.data.dir}" unless="testcase">
       <fileset dir="${test.dir}" includes="**/*Test.class"/>
     </batchtest>
   </junit>

   <junitreport todir="${test.data.dir}">
     <echo message="Generating report?"/>
     <fileset dir="${test.data.dir}">
       <include name="TEST-*.xml"/>
     </fileset>
     <report format="frames" todir="${test.reports.dir}"/>
   </junitreport>

<fail message="Tests failed. Check log and/or reports." if="test.failed"/>
 </target>

 <target name="junit-commandline" depends="test-compile">
   <java classname="junit.textui.TestRunner" classpathref="test.classpath">
     <arg value="org.catechis.ScoringTest"/>
   </java>
 </target>

        <target name="dist" depends="compile"
                description="make the jar file">
<jar destfile="${dist.dir}/catechis${project.version.jar}.jar" compress="true">
                        <fileset dir="${build.dir}/classes"/>
                </jar>
        </target>


</project>


protperties.xml
---------------
<!--:mode=ant -->
 <!-- ========================================================== -->
 <!-- ugly things -->
 <!-- ========================================================== -->

 <!-- ========================================================== -->
 <!-- Load Environment Variables                                 -->
 <!-- ========================================================== -->
 <!-- #Load environment variables -->
 <property environment="env"/>

<!-- this is here to deal with the fact that an IntelliJ IDEA build has no ant home -->
 <property name="ant.home" value="${env.ANT_HOME}" />
 <property name="junit.home" value="${env.JUNIT_HOME}" />

 <!-- get Unix hostname, and set to Windows comparable name -->
 <!-- #Trick to get host name x-platform -->
 <property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>

 <!-- ========================================================== -->
 <!-- Load property files                                        -->
 <!--   Note: the ordering is VERY important.                    -->
 <!-- ========================================================== -->
 <!-- #Allow even users property file to relocate -->
 <property name="user.properties.file"
           location="/home/timmy/projects/applabsuser/build.properties"/>

 <!-- Load the application specific settings -->
 <!-- #Project specific props -->
 <!-- property file="build.properties"/ -->

 <!-- Load user specific settings -->
 <!-- #User specific properties (username/password, etc) -->
 <!-- property file="${user.properties.file}"/ -->

 <!-- ========================================================== -->
 <!-- Directory mappings                                         -->
 <!-- ========================================================== -->
 <!-- #Note use of 'location' -->
 <property name="root.dir" location="${basedir}"/>
 <property name="masterbuild.dir" location="${root.dir}/.."/>
 <property file="${masterbuild.dir}/build.properties"/>

 <property name="src.dir" location="${root.dir}/src"/>

 <property name="build.dir" location="build"/>
 <property name="build.classes.dir"
   location="${build.dir}/classes"/>
 <property name="dist.dir" location="dist"/>
 <property name="dist.bin.dir" location="${dist.dir}/bin"/>
 <property name="doc.dir" location="doc"/>
 <property name="javadoc.dir" location="${doc.dir}/javadoc"/>
 <property name="lib.dir" location="${masterbuild.dir}/lib"/>


 <!-- ========================================================== -->
 <!-- Compile settings                                           -->
 <!-- ========================================================== -->
 <!-- #Typical defaults for javac -->
 <property name="build.debug" value="on"/>
 <property name="build.optimize" value="off"/>

 <!-- ========================================================== -->
 <!-- Test settings                                              -->
 <!-- ========================================================== -->
 <property name="test.dir" location="${build.dir}/test"/>
 <property name="test.classes.dir" location="${test.dir}/classes"/>
 <property name="test.data.dir" location="${test.dir}/data"/>
 <property name="test.reports.dir" location="${test.dir}/reports"/>
 <property name="test.src.dir" location="${root.dir}/test"/>
 <property name="test.last.failed.file"
   location="${build.dir}/.lasttestsfailed"/>


 <!-- ========================================================== -->
 <!-- Library dependency settings                                -->
 <!-- ========================================================== -->
 <!-- #Library indirection -->
 <property name="lib.properties.file"
   location="${lib.dir}/lib.properties"/>

 <!-- #lib.properties.file contains .version props -->
 <property file="${lib.properties.file}"/>

 <!-- library directory mappings -->
 <!-- #directory mappings to each librarys root -->
 <!-- #actual distribution directory structure underneath -->
 <property name="checkstyle.dir"
   location="${lib.dir}/checkstyle-${checkstyle.version}"/>

 <property name="junit.dir"   location="${junit.home}"/>


 <!-- each library has its own unique directory structure -->
 <!-- #each librarys own directory structure (note using 'value') -->
 <property name="checkstyle.subdir" value=""/>
 <property name="hsqldb.subdir"     value=""/>
 <property name="j2ee.subdir"       value="lib"/>
 <property name="jtidy.subdir"      value="build"/>
 <property name="junit.subdir"      value=""/>
 <property name="log4j.subdir"      value="dist/lib"/>
 <property name="lucene.subdir"     value=""/>
 <property name="struts.subdir"     value="lib"/>
 <property name="torque.subdir"     value="lib"/>
 <property name="xdoclet.subdir"    value="lib"/>
 <property name="httpunit.subdir"    value="lib"/>
 <property name="axis.subdir"    value="lib"/>
 <property name="webtest.subdir" value="lib"/>
 <property name="xercesxalan.subdir"    value="lib"/>

 <!-- JAR file mappings -->
 <!-- #mappings directly to jar files -->
 <property name="checkstyle.jar"
location="${checkstyle.dir}/${checkstyle.subdir}/checkstyle-all-${checkstyle.version}.jar"/>

 <property name="junit.jar"
   location="${junit.dir}/junit.jar"/>

 <property name="ant-junit.jar"
   location="${ant.home}/lib/ant-junit.jar"/>

 <!-- ========================================================== -->
 <!-- xml logger config -->
 <!-- ========================================================== -->

<!--
   <property name="log.dir"
       location="${env.CATALINA_HOME}/webapps/ROOT/log"/>
-->
   <property name="log.dir"
       location="${masterbuild.dir}/log"/>

<!--   <property name="ant.XmlLogger.stylesheet.uri"
     location="${ant.home}/etc/log.xsl" />  -->


 <!-- ========================================================== -->
 <!-- index info -->
 <!-- ========================================================== -->
 <property name="index.dir"
   location="${masterbuild.dir}/index/build/index"/>

 <property name="docstoindex.dir" value="${ant.home}/docs"/>
 <fileset dir="${docstoindex.dir}" id="indexed.files"/>

 <!-- ========================================================== -->
 <!-- generated output -->
 <!-- name the files we are creating-->
 <!-- ========================================================== -->
 <property name="antbook-ant.dist.dir"
   location="${masterbuild.dir}/ant/dist/"/>

 <property name="antbook-ant.jar"
   location="${antbook-ant.dist.dir}/antbook-ant.jar"/>

 <property name="antbook-common.dist.dir"
   location="${masterbuild.dir}/common/dist/"/>

 <property name="antbook-common.jar"
   location="${antbook-common.dist.dir}/antbook-common.jar"/>



build.properties
----------------
lib.dir=/home/timmy/projects/dist



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

Reply via email to