2016-06-20 7 views
0

で私はPhingのスクリプトを変更しようとしていますし、私は明白な特徴だろうと思ったものを見ることができません。エンディングターゲット早期のPhing

Phingのスクリプトは、実行のさまざまな段階での入力をチェックする一般的な「CONFIRM」の目標を持っています。スクリプトを自動化して、入力せずに実行できるようにしたい。私はそれが早く返すように、ターゲット内<break>または<end>タイプのタスクのいくつかの種類を挿入することにより、これにできることを期待しています。 manualはそのような機能をリストしていないようです。

は、私が最初CMDライン引数をチェックし、確認対象を呼び出すために中間目標を作成することによって、これを達成することができます知っているが、よりエレガントな方法は何ですか?

これは、自動化する必要があり、複数の場所から呼び出される対象です。スキップするトリガーは、cmd行-Dを介して設定されるプロパティです。同じ目的のために

<!-- confirm a user action --> 
<target name="confirm"> 
    <input propertyname="confirm" validargs="yes,no"> 
     ${confirm.message} ('yes' to continue) 
    </input> 
    <if> 
     <not> 
      <equals arg1="${confirm}" arg2="yes" /> 
     </not> 
     <then> 
      <fail message="You didn't say 'yes'" /> 
     </then> 
    </if> 
</target> 

答えて

1

私は、この技術を使用しています:

<if> 
    <not> 
    <isset property="confirm" /> 
    </not> 
    <then> 
    <input propertyname="confirm" validargs="yes,no"> 
     ${confirm.message} ('yes' to continue) 
    </input> 
    <if> 
     <not> 
      <equals arg1="${confirm}" arg2="yes" /> 
     </not> 
     <then> 
      <fail message="You didn't say 'yes'" /> 
     </then> 
    </if> 
    </then> 
</if> 

、あなたはPROMTなし

phing build.xml -Dconfirm=yes 

を実行することができます。