Ant:如何使用 Ant 设置环境变量



我在一个名为 release.com 的文件中有环境变量,如下所示,

echo "<<< OpenSplice HDE Release V5.5.1OSS For x86.linux2.6, Date 2012-05-23 >>>"
if [ "$SPLICE_ORB" = "" ]
then
    SPLICE_ORB=DDS_OpenFusion_1_6_1
    export SPLICE_ORB
fi
if [ "$SPLICE_JDK" = "" ]
then
    SPLICE_JDK=jdk
    export SPLICE_JDK
fi
OSPL_HOME="/usr/local/covidien/HDE/x86.linux2.6"
OSPL_TARGET=x86.linux2.6
PATH=$OSPL_HOME/bin:$PATH
LD_LIBRARY_PATH=$OSPL_HOME/lib:$LD_LIBRARY_PATH
CPATH=$OSPL_HOME/include:$OSPL_HOME/include/sys:$CPATH
OSPL_TMPL_PATH=$OSPL_HOME/etc/idlpp
OSPL_URI=file://$OSPL_HOME/etc/config/ospl.xml
. $OSPL_HOME/etc/java/defs.$SPLICE_JDK
CLASSPATH=$OSPL_HOME/jar/dcpssaj.jar:$CLASSPATH
CLASSPATH=$OSPL_HOME/jar/dcpscj.jar:$CLASSPATH
export CLASSPATH OSPL_HOME OSPL_TARGET PATH LD_LIBRARY_PATH CPATH OSPL_TMPL_PATH OSPL_URI
$@

我将在 Linux 中使用此环境变量作为,

# source release.com

使用 Ant 脚本如何将release.com设置为源?

为了补充 Mark 的答案,Ant XML 构建文件还可用于将依赖项集中在外部文件中。

依赖关系.xml

<project name="deps" basedir=".">  
  <dirname property="deps.basedir" file="${ant.file.deps}"/>
  <property name="my.jar" location="${deps.basedir}/my-tasks.jar" />
  <taskdef name="my-ant-task" classpath="${my.jar}"
      classname="org.my.domain.ant.MyAmazingTask" />
</project>


构建.xml

<project name="my-project" basedir=".">
  <import file="dependencies.xml" />
  <target name="give-my-task-a-spin">
    <my-ant-task />
  </target>
</project>



如果您有大量自定义任务,最好将它们放在 antlib 中,这样可以通过为库中的所有任务共享同一个类装入器来减少内存使用量。

<antlib>
  <taskdef name="my-task01"
      classname="org.my.domain.ant.MyCustomTask01" />
  <taskdef name="my-task02"
      classname="org.my.domain.ant.MyCustomTask02" />
  <taskdef name="my-task03"
      classname="org.my.domain.ant.MyCustomTask03" />
  ...
</antlib>