Hi, David
Many thanks for the info!
Is it possible to write these files for Windows & *nix?
Thanks,
David
It appears that the $HOME/.ant/ant.conf and $HOME/.antrc files are
just two different ways to do the same thing. $HOME/.ant/ant.conf is
executed firsrt, so if something is defined in both files, only the
one in $HOME/.antrc is used. However, this isn't a feature as much as
someone has to be executed first and someone last.
Use either $HOME/.antrc or $HOME/.ant/ant.conf, but not both.
Standardize on one. Setting ANT_HOME in one of these files will set
ANT_HOME by the time it needs to be used in line 123 when ANT_LIB gets
set.
Note that the shell script will assume ANT_HOME will be the location
of the shell script "ant" command if you don't have ANT_HOME set.
You can use the following syntax to set ANT_HOME only if ANT_HOME
isn't already set:
if [ -n "$ANT_HOME" ]
then
ANT_HOME=/usr/local/ant
fi
You can pass unexported environment variables in ANT by using the
following:
ant -Dmy.variable=$MY_VARIABLE
This sets the ant property ${my.variable} to the value of the
environment variable $MY_VARIABLE
On Tue, May 20, 2008 at 2:06 PM, David J. B. Hollis
<[EMAIL PROTECTED]> wrote:
Hi, David
Ironically, the one which ISN'T exported, DITA_HOME, IS used in
the Ant
builds. But it's passed as parameter dita.dir. Obviously anything on
ANT_ARGS is passed, so ought not need exporting as well. I don't
think the
others are, but I know the builds pick up the environment.
The DITA toolkit actually uses Ant to build documentation in various
formats: html, help formats and PDF. So there's no software
compiling at
all. (This might also explain why I'm asking basic questions! ;-) )
Whilst pondering this, it begged the question about whether
ANT_HOME ought
to be in .antrc or ant.conf, or not. If you've modified the system
path in
some way, or used symlinks on *nix, so that Ant can be called from
anywhere,
then it's probably a good idea to define ANT_HOME in one or other
of these
files.
However, if you're running a batch script which sets the path at
run time,
then that might set up ANT_HOME as part of the process of setting
up the Ant
environment before calling Ant. In which case, it would be
superfluous!
Many thanks,
David
On Tue, May 20, 2008 at 3:05 AM, David J. B. Hollis
<[EMAIL PROTECTED]> wrote:
I've ended up with this in an ant.conf file:
#!/bin/sh
DITA_HOME=~/DITA-OT1.4.2.1
DITA_HOME=`cd "$DITA_HOME" && pwd`
#export ANT_HOME="$DITA_HOME"/tools/ant
export ANT_HOME=/Developer/Java/Ant
export ANT_OPTS="-Xmx512m"
export ANT_ARGS="-lib $DITA_HOME/lib -Ddita.dir=$DITA_HOME"
Are you saying I don't need to export any of these? I can just
define
them?
The ANT_HOME, DITA_HOME, ANT_OPTS, and ANT_ARGS will be available
throughout the whole /usr/bin/ant shell script where they are
used to
start a Java process that executes Ant. If these variables are only
used for starting up Ant, they do not need to be exported.
However, once that Java process starts up, these environment
variables
won't be available. So, they will not be available in your Java
process NOR (more importantly) in your build.xml file. That also
means
any environment variables that you're depending upon for your <java>
or <javac> tasks will only be available if exported.
--
David Weintraub
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
--
David Weintraub
[EMAIL PROTECTED]
---------------------------------------------------------------------
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]