2011-01-11 22 views
2

私はantから別のantビルドファイルを実行したいので、<ant>タスクはこれに完璧に見えます。Ant、<ant>の環境変数を設定しますか?

もう1つのビルドファイルは、環境変数をいくつかのものに使用します。子プロセスに環境変数を設定する方法はありますか?

私は<exec>タスクが入れ子になった<env>をサポートしているようですが、<ant>では何も似ていません。 ant taskのドキュメントから

答えて

0

、デフォルトで

、現在のプロジェクトのすべてのプロパティは、新しいプロジェクトに 利用できるようになります。

ネストされたpropertyタグを使用して、新しいプロジェクトのプロパティを古いプロジェクトから設定することもできます。デフォルトで

<ant antfile="subproject/property_based_subbuild.xml"> 
    <property environment="env"/> 
</ant> 
+1

''は単に現在の環境変数を "env"というantプロパティにロードするだけです、いいえ?したがって、別のビルドファイルが同じ ''行を使用し、 '$ {env} 'を通してこれらの環境変数のみを使用しても、実際の環境変数は設定されません子供の蟻のプロセスで。 – Ken

+0

私はあなたの提案のポイントをこの文脈では見ません - ケンの既存のスクリプトはenv varsを先頭の '' env ''で参照する必要があります。それが働くために。それを実行すると、すでに 'property environment =" env "'が実行されています。 –

0

インナーアリ呼び出しがこの場合

<ant inheritAll="true" antfile="subproject/subbuild.xml"> 
    <!--inheritAll="true" is default value, this is unecessary --> 

    <property name="myprop" value="foo"/> 

    <antcall target="myTarget"></antcall> 
    <ant antfile="myAntFile"></ant> 

</ant> 

親プロパティを継承し、「myTarget」と「myAntFile」上のすべてのターゲットは、「MyPropで」の値として「foo」を得ることができます。

関連する問題