2016-04-06 8 views
0

Antスクリプトは、データベース(OracleまたはPostgreSQL)にインストールされ、ダンプを生成するセットアップファイルを含むZIPファイルをダウンロードする必要があります。セットアップファイルで提供されるプロパティデータに応じて、異なるダンプが生成されます。条件付きでAntにプロパティファイルをロードする

私は3つのプロパティファイルがあります。

  1. user.propertiesは:prepare.MTdump.generate=true
  2. nonMT.properties
  3. MT.properties
:これは、さまざまなジェンキンスからと離れて、その値から提供された詳細情報が含まれています

最初のプロパティファイルuser.propertiesを読み込み、条件に応じてAntで読み込むことは可能ですか(例:prepare.MTdump.generate=true)load MT.propertiesまたはそれが間違っている場合nonMT.properties

IF条件を追加してプロパティファイルを読み込むことができませんでした。私もunlessの条件で試してみましたが、その条件を達成することができませんでした。

+0

あなたが試したことを追加してください。条件付きでファイルをロードすることは非常に可能です。 – Rao

答えて

1

あなたはANT-contribのを使用している場合、これは動作するはずです:

<property file="user.properties"/> 
<if> 
    <equals arg1="${prepare.MTdump.generate}" arg2="true"/> 
    <then> 
     <property file="MT.properties"/> 
    </then> 
    <else> 
     <property file="nonMT.properties"/> 
    </else> 
</if> 

そうしないと、あなただけの条件を使用することができます。以下のloadPropertiesターゲットを実行するだけです。

<property file="user.properties"/> 

<target name="test.if.use.MT"> 
    <condition property="useMT"> 
     <equals arg1="${prepare.MTdump.generate}" arg2="true"/> 
    </condition> 
    <condition property="useNonMT"> 
     <not> 
      <equals arg1="${prepare.MTdump.generate}" arg2="true"/> 
     </not> 
    </condition> 
</target> 

<target name="loadMTProperties" if="${useMT}" depends="test.if.use.MT"> 
    <property file="MT.properties"/> 
</target> 

<target name="loadNonMTProperties" if="${useNonMT}" depends="test.if.use.MT"> 
    <property file="nonMT.properties"/> 
</target> 

<target name="loadProperties" depends="loadMTProperties, loadNonMTProperties"/> 
+0

ありがとうございましたant-contribを使って私のために働いてくれました – user3754863

関連する問題