You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by ba...@goodconsultants.com on 2003/12/15 18:53:57 UTC
How can I select different classpath for building different apps?
All,
In one single build.xml, how can I select different set of classpaths? for
Tomcat and for other apps?
I try to do the followings:
<target name="tomcat" if="system.CATALINA_HOME">
<antcall target="clean"/>
<antcall target="init-tomcat"/>
<antcall target="compile-newserver"/>
<antcall target="dist-tomcat"/>
<antcall target="deploy-tomcat"/>
</target>
In the init-tomcat target, I have the followings:
<target name="init-tomcat">
<echo message="CATALINA_HOME is ${system.CATALINA_HOME}"/>
<path id="compile.classpath">
<pathelement location="${catalina.home}/common/classes"/>
<fileset dir="${catalina.home}/common/endorsed">
<include name="*.jar"/>
</fileset>
<fileset dir="${catalina.home}/common/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${catalina.home}/shared/classes"/>
<fileset dir="${catalina.home}/shared/lib">
<include name="*.jar"/>
</fileset>
</path>
</target>
Unfortunately, it does not work setting classpath like this... Any advice?
Thanks
Barry
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
Re: How can I select different classpath for building different apps?
Posted by ba...@goodconsultants.com.
Antoine,
Thanks for replying... It doesnt seem to work. Would you please tell me what i
did wrong? Here is the code:
TARGET:
<target name="classpath-tomcat">
<echo message="classpath-tomcat: CATALINA_HOME is
${system.CATALINA_HOME}"/>
<path id="compile.classpath">
<pathelement location="${catalina.home}/common/classes"/>
<fileset dir="${catalina.home}/common/endorsed">
<include name="*.jar"/>
</fileset>
<fileset dir="${catalina.home}/common/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${catalina.home}/shared/classes"/>
<fileset dir="${catalina.home}/shared/lib">
<include name="*.jar"/>
</fileset>
</path>
</target>
CALLING:
<target name="tomcat" if="system.CATALINA_HOME">
<echo message="CATALINA_HOME is: ${system.CATALINA_HOME}"/>
<antcall target="clean"/>
<antcall target="init"/>
<antcall target="classpath-tomcat"/>
<antcall target="compile-newserver"/>
<antcall target="dist-tomcat"/>
<antcall target="deploy-tomcat"/>
</target>
JAVAC:
<target name="compile-newserver">
<echo message="SOURCE DIRECTORY: ${src.home}"/>
<echo message="TARGET DIRECTORY: ${build.home}"/>
<!-- Compile Java classes as necessary -->
<mkdir dir="${build.home}/WEB-INF/classes"/>
<javac classpathref="compile.classpath"
srcdir="${src.home}"
destdir="${build.home}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}"
excludes="java/sandbox/**">
<classpath refid="compile.classpath"/>
</javac>
<!-- Copy application resources -->
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="${src.home}" excludes="**/*.java"/>
</copy>
<echo message="Completed."/>
</target>
ERROR:
BUILD FAILED
file:/home/barry/workarea/src/server/build.xml:245: Reference
compile.classpath not found.
Quoting Antoine Lévy-Lambert <an...@antbuild.com>:
> barry@goodconsultants.com wrote:
>
> >All,
> >
> >In one single build.xml, how can I select different set of classpaths? for
> >Tomcat and for other apps?
> >
> >I try to do the followings:
> >
> ><target name="tomcat" if="system.CATALINA_HOME">
> >
> > <antcall target="clean"/>
> > <antcall target="init-tomcat"/>
> > <antcall target="compile-newserver"/>
> > <antcall target="dist-tomcat"/>
> > <antcall target="deploy-tomcat"/>
> >
> ></target>
> >
> >In the init-tomcat target, I have the followings:
> >
> ><target name="init-tomcat">
> >
> > <echo message="CATALINA_HOME is ${system.CATALINA_HOME}"/>
> >
> > <path id="compile.classpath">
> >
> > <pathelement location="${catalina.home}/common/classes"/>
> > <fileset dir="${catalina.home}/common/endorsed">
> > <include name="*.jar"/>
> > </fileset>
> > <fileset dir="${catalina.home}/common/lib">
> > <include name="*.jar"/>
> > </fileset>
> >
> > <pathelement location="${catalina.home}/shared/classes"/>
> > <fileset dir="${catalina.home}/shared/lib">
> > <include name="*.jar"/>
> > </fileset>
> >
> > </path>
> >
> ></target>
> >
> >Unfortunately, it does not work setting classpath like this... Any advice?
> >
> >Thanks
> >
> >Barry
> >
> >
> >
> >
> ur target above init-tomcat creates a piece of data with id
> "compile.classpath". But then you need to reference your classpath, for
> instance in <javac>
>
> <javac classpathref="compile.classpath" ...>
> <!-- other nested elements -->
> </javac>
>
> will work.
>
> Antoine
>
> ---------------------------------------------------------------------
> 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
Re: How can I select different classpath for building different apps?
Posted by Antoine Lévy-Lambert <an...@antbuild.com>.
barry@goodconsultants.com wrote:
>All,
>
>In one single build.xml, how can I select different set of classpaths? for
>Tomcat and for other apps?
>
>I try to do the followings:
>
><target name="tomcat" if="system.CATALINA_HOME">
>
> <antcall target="clean"/>
> <antcall target="init-tomcat"/>
> <antcall target="compile-newserver"/>
> <antcall target="dist-tomcat"/>
> <antcall target="deploy-tomcat"/>
>
></target>
>
>In the init-tomcat target, I have the followings:
>
><target name="init-tomcat">
>
> <echo message="CATALINA_HOME is ${system.CATALINA_HOME}"/>
>
> <path id="compile.classpath">
>
> <pathelement location="${catalina.home}/common/classes"/>
> <fileset dir="${catalina.home}/common/endorsed">
> <include name="*.jar"/>
> </fileset>
> <fileset dir="${catalina.home}/common/lib">
> <include name="*.jar"/>
> </fileset>
>
> <pathelement location="${catalina.home}/shared/classes"/>
> <fileset dir="${catalina.home}/shared/lib">
> <include name="*.jar"/>
> </fileset>
>
> </path>
>
></target>
>
>Unfortunately, it does not work setting classpath like this... Any advice?
>
>Thanks
>
>Barry
>
>
>
>
ur target above init-tomcat creates a piece of data with id
"compile.classpath". But then you need to reference your classpath, for
instance in <javac>
<javac classpathref="compile.classpath" ...>
<!-- other nested elements -->
</javac>
will work.
Antoine
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org