1

次のように、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してソースとして設定する方法は?

4

2 に答える 2

2

ビルド設定は通常、Ant ビルド内のプロパティとして定義されます。

必要に応じて、次のように環境設定にアクセスできます。

  <property environment="env"/>
  <echo message="Number of Processors = ${env.NUMBER_OF_PROCESSORS}"/>
  <echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>

この機能を使用すると、ビルドがセットアップが複雑になり、移植性が低下するため、この機能は控えめに使用します (Windows は Linux とは異なる方法で環境設定を管理します)。

最後に、ビルドの依存関係を外部ファイルに集中させようとしている場合、残念ながら ANT (クロス プラットフォームおよび Java) はシェル スクリプトをサポートしません。代わりに、Java プロパティ ファイルを使用して、次のようにビルドにインポートできます。

<property file="build.properties"/>

Java プロパティは、理解しやすい形式になっています。

src.dir=src
build.dir=build
于 2012-05-29T17:40:47.593 に答える
0

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>


build.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>      
于 2012-05-30T06:46:54.257 に答える