5

Antなどの他のビルドシステムには、多くの場合、スクリプトロジックを単純化できるif / then/else構造があります。CIFactory NAntバリアントにもこれがあります( )が、非常に古く、.NET 4.0をサポートしていません-それでも、 NAnt<ifthenelse/>バージョンをCIFactoryから公式ビルドに更新すると、ビルドスクリプトが不必要に複雑になります。<if/>元の状態、否定のあるもの。

NAntで、単一の条件でif / then / elseフローを実現することは可能ですか?

4

1 に答える 1

15

NAnt 0.92では、<choose/>タスクがNAnt-contribから昇格され、テスト条件の1回の評価だけでif / then/else効果を達成できます。例:

<property name="operatingSystem"
  value="${operating-system::to-string(environment::get-operating-system())}" /> 
<choose>
  <when test="${string::contains(operatingSystem, 'Windows')}">
    <echo message="Running on Microsoft Windows" />
  </when>
  <otherwise>
    <echo message="Are we running on Linux?" />
  </otherwise>
</choose>
于 2012-10-21T19:00:16.183 に答える