James Fuller wrote:
Douglas Kramer wrote:

I'd like to set up my Ant script to load one set of paths
if I'm building on one machine and a different set of
paths when building on a another machine.

this can be achieved in a variety of ways;

Good, thanks.

In build.properties I have:

run.classpath.javadoc="${JAVA_HOME}/lib/tools.jar"
run.classpath.mifdoclet="${WORKDIR}/build/jar/mifdoclet.jar"

My script is:

<exec dir="${sample}/example-bookfile" executable="java">
<arg line="-classpath ${run.classpath.mifdoclet}:${run.classpath.javadoc}" />
<arg line="-Xmx20M" />
<arg line="com.sun.tools.javadoc.Main" />
<arg line="-doclet com.sun.tools.doclets.formats.mif.MIFDoclet" />
<arg line="-book book-solaris.xml" />
<arg line="-group 'Summary of Sample Packages' 'com.*'" />
<arg line="-sourcepath ../sample-src com.package1 com.package1.subpackage com.package2" />
</exec>


hmmm, may I suggest using the <java/> task instead of exec ?

Wish I could, but my application (MIF Doclet) currently overrides classes in tools.jar, so that's not an option. I must be able to set the classpath to MIFDoclet.class ahead of tools.jar (which is ${run.classpath.javadoc}). Later, once the changes are integrated into tools.jar, I will be able to use <java/>.

<java classname="com.sun.tools.javadoc.Main"
fork="true"
failonerror="true"
maxmemory="128m"
>
<arg line="-doclet com.sun.tools.doclets.formats.mif.MIFDoclet" />
<arg line="-book book-solaris.xml" />
<arg line="-group 'Summary of Sample Packages' 'com.*'" />
<arg line="-sourcepath ../sample-src com.package1 com.package1.subpackage com.package2" />
<classpath>
<pathelement location="${run.classpath.mifdoclet}"/>
<pathelement location="${run.classpath.javadoc}"/>
</classpath>
</java>


I assume that the things that are changing are your classpaths?

Yes.

you know you can define reusable classpaths

        <path id="myclasspath">
          <pathelement location="${run.classpath.mifdoclet}"/>
          <pathelement location="${run.classpath.javadoc}"/>
        </path>

Yes (however using properties seems to fail for me, but that's another story)

which can then be refered to by <java/> classpathref attribute

       <java classname="com.sun.tools.javadoc.Main"
          fork="true"
          failonerror="true"
          maxmemory="128m"
       classpathref="myclasspath"

This is fine. I want it to automatically detect which machine it's on and switch classpaths without any human intervention.

>
<arg line="-doclet com.sun.tools.doclets.formats.mif.MIFDoclet" />
<arg line="-book book-solaris.xml" />
<arg line="-group 'Summary of Sample Packages' 'com.*'" />
<arg line="-sourcepath ../sample-src com.package1 com.package1.subpackage com.package2" />
</java>

user.home User's home directory
user.dir User's current working directory
How would I set up the condition, please?


not sure exactly what you want....have u seen <condition/> ? you know you could just supply different property files...

That's fine as long as no manual intervention is required for the switch. That might be the cleanest -- if an alternate properties file is present, use it, otherwise, use the default propert

  <if>
     // alternate.properties exists
     <then>
        <import file="alternate.properties">
     </then>
     <else>
        <import file="build.properties">
   </if>

gl, Jim Fuller

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