jsminをnantで使用しようとしていますが、入力と出力にstdinとstdoutを使用しているだけです。nant'exec'タスクを使用すると、出力をファイルにリダイレクトできますが、ファイルから入力を取得することはできません。
'>'と'<'を使用して'コマンドライン'を使用して入力と出力を指示しようとしましたが、nantが消えて、戻ってこない:(
これまで誰もこれをやろうとしたことがないなんて信じられません。助けてください!:)
http://www.mail-archive.com/nant-developers@lists.sourceforge.net/msg04575.htmlから。次のようなことができるはずです。
<exec program="cmd.exe" workingdir=".">
<arg value="/c cacls" />
<arg value="${mdb.file}" />
<arg value="/E" />
<arg value="/G testpc\aspnet:F" />
<arg value="< y.txt" />
</exec>
NAntはファイルからの入力をサポートしていると思います。ビルドファイルはXMLであるため、xmlでエンコードされた「<」を使用する必要があります。
<exec program="somefile.exe" workingdir=".">
<arg value="< input.txt" />
</exec>
リダイレクトおよびパイプ演算子はシェルの機能であり、CおよびC#は他の手段(ファイルハンドル)によるリダイレクトをサポートします。どこかで、C#Processクラスが入力リダイレクトをサポートしていなかったため、nantはの出力リダイレクトのみを提供することを読みました<exec>
。
コマンド入力をリダイレクトするために、シェルに頼ることができます。
A)上記のacloutierの例に示されているようにを呼び出しますcmd.exe
。/c
空白には注意が必要です。実際には、<
との間のスペースが原因で例が失敗しますy.txt
。例を機能させるには、例を削除してください。value
属性を属性に変換することもできline
ますが、引用には注意が必要です。
B)exec-cmdアプローチを使用してパイプを機能させることができなかったため、代わりに<echo>
:を使用してその場でバッチファイルを生成しています。
<echo file="${WD}/login.bat">"${P4}" diff -sd | "${P4}" -x- sync -f using</echo>
<exec program="login.bat" basedir="${WD}" workingdir="${P4.WorkspaceRoot}" />