Robert,

Don't know the answer to your problem, but I also am not sure why you need
it?

In any case, I've noticed that at no point has anyone suggested deploying an
EAR under JBoss/Cocoon instead of a WAR? Given that you want to hot deploy
single classes that's probably not an option for you, but for integrated
EJB/Cocoon deployment it works pretty well.  

Following is a Ant build that gives a pretty minimal Cocoon combined with an
EJB Jar.  It's specific to one of our projects, but should be pretty easy to
modify.  Note that it builds Cocoon and does a hot deploy to Jboss all in
one shot, that would also be easy to change....

Also note, This version is for JBoss 2.4.4. we've also got a version that
deploys to JBoss 3 but I don't have a version at hand, but I think the only
change is the location of the deploy directory relative to the JBoss root...

<project name="gunk" default="deploy" basedir="/">

   <property name="rootDir"     value="/projects"/>

   <property name="deploy"      value="/Jboss-2_Tomcat-4/jboss/deploy"/>

   <property name="ctHome"      value="${rootDir}/gunk"/>
      <property name="build"       value="${ctHome}/build/main"/>
      <property name="cocoon"      value="${ctHome}/Cocoon"/>
      <property name="dist"        value="${ctHome}/dist"/>
      <property name="ear"         value="${ctHome}/ear"/>
      <property name="ejbbuild"    value="${ctHome}/build/ejb"/>
      <property name="ejbsrc"      value="${ctHome}/ejbsrc"/>
      <property name="script"      value="${ctHome}/buildscript"/>
      <property name="src"         value="${ctHome}/src"/>
      <property name="srcmain"     value="${ctHome}/src"/>
      <property name="web"         value="${ctHome}/web"/>

   <property name="libHome"     value="${ctHome}/lib"/>
      <property name="avalon"
value="${libHome}/avalon-framework-20020627.jar"/>
      <property name="cocoonlib"   value="${libHome}/cocoon-2.0.4.jar"/>
      <property name="datasource"
value="${libHome}/excalibur-datasource-vm14-20021121.jar"/>
      <property name="jdom"        value="${libHome}/jdom.jar"/>
      <property name="junit"       value="${libHome}/junit.jar"/>
      <property name="log"         value="${libHome}/logkit-20020529.jar"/>
      <property name="oracle"      value="${libHome}/classes12.zip"/>
      <property name="pool"
value="${libHome}/excalibur-pool-20020820.jar"/>
      <property name="servlet"     value="${libHome}/servlet.jar"/>
      <property name="ujc"         value="${libHome}/ujc.jar"/>
      <property name="xalan"       value="${libHome}/xalan-2.4.1.jar"/>
      <property name="xerces"      value="${libHome}/xercesImpl-2.1.1.jar"/>

   <property name="debugmode"    value="off"/>

   <target name="init">
      <tstamp/>
      <mkdir dir="${build}"/>
      <mkdir dir="${dist}"/>
      <mkdir dir="${ejbbuild}"/>
      <mkdir dir="${ejbbuild}/META-INF"/>
      <copy todir="${ejbbuild}/META-INF">
         <fileset dir="${script}">
            <patternset>
               <include name="ejb-jar.xml"/>
            </patternset>
         </fileset>
      </copy>
      <mkdir dir="${ear}"/>
   </target>

   <target name="compileEjb" depends="init">
      <property name="build.compiler" value="jikes"/>
      <javac srcdir="${ejbsrc}"
             destdir="${ejbbuild}"
             debug="${debugmode}">
         <classpath>
            <pathelement path="${ujc}"/>
            <pathelement path="${oracle}"/>
            <pathelement path="${srcmain}"/>
            <pathelement path="${servlet}"/>

            <pathelement path="${avalon}"/>
            <pathelement path="${cocoonlib}"/>
            <pathelement path="${xalan}"/>
            <pathelement path="${xerces}"/>
            <pathelement path="${log}"/>
            <pathelement path="${datasource}"/>
            <pathelement path="${pool}"/>
            <pathelement path="${junit}"/>
         </classpath>
      </javac>
      <copy todir="${ejbbuild}/org/stjude">
         <fileset dir="${src}/org/stjude">
            <patternset>
               <include name="ct/ct.properties"/>
            </patternset>
         </fileset>
      </copy>
   </target>

   <target name="compileMain" depends="compileEjb">
      <javac srcdir="${src}" destdir="${build}" debug="${debugmode}">
         <classpath>

            <pathelement path="${ejbbuild}"/>
            <pathelement path="${ujc}"/>
            <pathelement path="${servlet}"/>
            <pathelement path="${oracle}"/>
            <pathelement path="${jdom}"/>
            <pathelement path="${avalon}"/>
            <pathelement path="${cocoonlib}"/>
            <pathelement path="${xalan}"/>
            <pathelement path="${xerces}"/>
            <pathelement path="${log}"/>
            <pathelement path="${datasource}"/>
            <pathelement path="${pool}"/>
            <pathelement path="${junit}"/>
         </classpath>
      </javac>
      <copy todir="${build}">
         <fileset dir="${src}">
            <patternset>
               <include name="**/*.properties"/>
               <include name="**/*.xsl"/>
               <include name="**/*.xml"/>
            </patternset>
         </fileset>
      </copy>
   </target>

   <target name="deploy" depends="compileMain">
      <!-- jar main EJB files -->
      <jar jarfile="${ear}/gunk.jar">
         <fileset dir="${ejbbuild}"/>
      </jar>
      <!-- war main Web files -->
      <war warfile="${ear}/gunk.war" manifest="${script}/Manifest.MF"
webxml="${script}/web.xml">
         <fileset dir="${web}"/>
         <classes dir="${build}"/>
         <lib dir="${libHome}">
            <include name="avalon-framework-20020627.jar"/>
            <include name="cocoon-2.0.4.jar"/>
            <include name="commons-collections-2.1.jar"/>
            <include name="commons-httpclient-20020423.jar"/>
            <include name="excalibur-cli-1.0.jar"/>
            <include name="excalibur-collections-20020820.jar"/>
            <include name="excalibur-component-20020916.jar"/>
            <include name="excalibur-concurrent-20020820.jar"/>
            <include name="excalibur-datasource-vm14-20021121.jar"/>
            <include name="excalibur-i18n-1.0.jar"/>
            <include name="excalibur-instrument-20021108.jar"/>
            <include name="excalibur-instrument-manager-20021108.jar"/>
            <include
name="excalibur-instrument-manager-interfaces-20021108.jar"/>
            <include name="excalibur-io-1.1.jar"/>
            <include name="excalibur-logger-20020820.jar"/>
            <include name="excalibur-monitor-20020820.jar"/>
            <include name="excalibur-naming-1.0.jar"/>
            <include name="excalibur-pool-20020820.jar"/>
            <include name="excalibur-sourceresolve-20020820.jar"/>
            <include name="excalibur-store-20020820.jar"/>
            <include name="excalibur-xmlutil-20020820.jar"/>
            <include name="jakarta-regexp-1.2.jar"/>
            <include name="logkit-20020529.jar"/>
            <include name="xalan-2.4.1.jar"/>
            <include name="xercesImpl-2.1.1.jar"/>
            <include name="xml-apis-2.4.1.jar"/>
         </lib>
      </war>
      <!-- make main ear file -->
      <ear earfile="${dist}/gunk.ear" appxml="${script}/application.xml">
         <fileset dir="${ear}"/>
      </ear>
      <copy todir="${deploy}">
         <fileset dir="${dist}">
            <patternset>
               <include name="gunk.ear"/>
            </patternset>
         </fileset>
      </copy>

   </target>

   <target name="clean">
      <delete dir="${build}"/>
      <delete dir="${dist}"/>
   </target>
</project>

-----Original Message-----
From: Robert Simmons [mailto:[EMAIL PROTECTED]] 
Sent: Monday, January 27, 2003 6:17 AM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: Single JAR with all the libs?


Does anyone know how, in Ant, to take a fileset and convert it to a space
delimited list of files?

-- Robert


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

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

Reply via email to